[第七章][捉虫历险记——常见C++ Bug大围剿]
第七章,没有类的类,本章出现的bug主要是在编写类的过程当中,篇幅比较长,bug也比较诡异。罗列一下比较有意义的:
1. new了就一定要delete,而且delete之后一定要记得将野指针赋值为NULL,防止再次delete指针出现内存异常;
2. 注意默认的拷贝构造函数和赋值运算符重载都是浅拷贝,而这在类具有指针型的成员变量时会有问题;
3. 注意赋值运算符重载返回的是对象引用,而不是对象;
4. 拷贝构造函数是在对象构造时才会调用的函数,而之前它的数据成员变量都可能是未定义的;
5. 赋值运算符重载内部要“自检”,看看待拷贝的对象和自身是否一样;
6. 不要在析构函数里抛出异常;
7. 在为对象申请空间时,尽量使用new而不是malloc,因为后者不会调用对象的构造函数;
1. new了就一定要delete,而且delete之后一定要记得将野指针赋值为NULL,防止再次delete指针出现内存异常;
2. 注意默认的拷贝构造函数和赋值运算符重载都是浅拷贝,而这在类具有指针型的成员变量时会有问题;
3. 注意赋值运算符重载返回的是对象引用,而不是对象;
4. 拷贝构造函数是在对象构造时才会调用的函数,而之前它的数据成员变量都可能是未定义的;
5. 赋值运算符重载内部要“自检”,看看待拷贝的对象和自身是否一样;
6. 不要在析构函数里抛出异常;
7. 在为对象申请空间时,尽量使用new而不是malloc,因为后者不会调用对象的构造函数;
热门话题 · · · · · · ( 去话题广场 )
- 想做的事,别等“以后”1.0万+篇内容 · 515.0万次浏览
- 让人生变开阔的方法1.0万+篇内容 · 42.5万次浏览
- 重新养一遍自己,可真好啊2006篇内容 · 275.2万次浏览
- 你有哪些“终不似,少年游”的经历?3202篇内容 · 84.3万次浏览
- 哪个瞬间你发现自己被琐碎地爱着?332篇内容 · 97.4万次浏览
- 体制内工作带给我的喜怒哀乐4篇内容 · 567次浏览
- 你有哪些“当时只道是寻常”的经历?5154篇内容 · 18.7万次浏览
- 选错专业带给我的最大感悟7篇内容 · 883次浏览
Review
Review