08 2022 档案

【C++】引用与指针的区别
摘要:安全性 首先引用要比指针要安全,因为引用不能更改绑定,但是指针可以更改指向,此外指针可以有多级,但是引用一般只有一级。在使用指针的时候,我们往往需要使用断言,判断指针是不是空指针,访问空指针是会造成程序crash的。 此外类中有引用成员,当不同对象的引用成员绑定同一个类外变量,在析构的时候是不会发生 阅读全文

posted @ 2022-08-31 17:12 甲鱼写代码 阅读(24) 评论(0) 推荐(0) 编辑

【C++】【复杂结构拷贝问题】深拷贝与引用类型成员以及常量成员
摘要:为什么要有深拷贝? 当类的成员中有引用类型,那么拷贝的时候,比如 1 class A{ 2 public: 3 int * addr; 4 } 5 A a; 6 A a1(a); 7 //此时 a和a1中的addr成员,都将同时引用同一块内存,那么当析构的时候,就会出现free after free 阅读全文

posted @ 2022-08-30 15:32 甲鱼写代码 阅读(121) 评论(0) 推荐(0) 编辑

【C++】拷贝构造函数与引用传递参数
摘要:问题:调用拷贝构造的时候,能不能用值传递参数? 先说结论:调用拷贝构造的时候,不能用值传递参数,应该用引用传递,否则会导致无限调用拷贝构造,从而栈溢出 原理:值传递的时候,会用实参来构造形参,那么构造形参的过程中又会call拷贝构造,以此内推,无限循环 拷贝构造函数被调用的三种时机: 用类的一个对象 阅读全文

posted @ 2022-08-30 12:01 甲鱼写代码 阅读(258) 评论(0) 推荐(0) 编辑

【C++】多态与虚函数
摘要:多态和虚函数 先说说重载,重载要求函数名相同,返回值(返回值不同不构成重载)和形参不用相同,我们常用的重载是一种静态的多态,为什么C语言不能够重载呢?这与c语言的编译器有关,体现在符号表中,c语言的函数在编译时不会像C++那样把参数也添加到对应的符号表里 而多态当中,派生类中对于基类虚函数的重写,要 阅读全文

posted @ 2022-08-30 09:34 甲鱼写代码 阅读(80) 评论(0) 推荐(0) 编辑

【C++】delete
摘要:delete是根据指针的类型来调用析构的。当delete派生类对象填充的派生类指针,那么delete这个指针,先调用派生类析构,再调用基类析构。当多态环境下,delete指向派生类对象的基类指针,则出现只调用基类析构,而不调用派生类析构,从而导致内存泄漏。这里产生的问题是,调用的基类析构能不能删除派 阅读全文

posted @ 2022-08-29 23:35 甲鱼写代码 阅读(227) 评论(2) 推荐(0) 编辑

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

导航

统计

点击右上角即可分享
微信分享提示