Effective C++读书笔记
猪猪加大码力
What doesn't kill you makes you stronger.
展开
-
Effective C++读书笔记之条款08:别让异常逃离析构函数。
1、c++禁止析构函数吐出异常,但也不鼓励这样做。来看实例:class Widget{public: Widget(); ~Widget() { }};void g_doSomething(){ vector<Widget> arr;//arr为临时对象,函数结束自动销毁。}在 g_doSomething()中,析构函数在销毁资源的过程中吐出了一个异常,没...原创 2019-12-04 21:34:37 · 199 阅读 · 0 评论 -
Effective C++读书笔记之条款04:确定在使用对象前已将它初始化。
条款4:确定在使用对象前已将它初始化。(Make sure that objects are initialized before they’re used)1.永远在使用对象之前将它初始化。1.1 对于内置类型,手动完成初始化。什么叫做内置类型呢?就是在C++里面的这些基本数据类型:① 整数 int、short和long② 字符型 char和wchar_t ③ 布尔型 bool④ ...原创 2019-10-28 21:16:30 · 219 阅读 · 0 评论 -
Effective C++读书笔记之条款07:为多态基类声明virtual析构函数。
条款7:为多态基类声明virtual析构函数。1、在创建有层次的类时,往往要把基类的析构函数声明为虚函数。这是因为在使用这些类时,往往是通过基类指针或者引用使用的(类的实例在堆上),如果是析构对象时,通过delete +指针,这时如果析构函数不是虚函数,将不会调用当前指针指向对象的析构函数。这是多态的原理。实例如下:https://blog.csdn.net/Struggling_Jeff...原创 2019-10-28 20:58:37 · 187 阅读 · 0 评论 -
Effective C++读书笔记之条款06:若不想使用编译器自动生成的函数,就该明确拒绝。
条款6:若不想使用编译器自动生成的函数,就该明确拒绝。1、书中采用房子对象来举例,一套房子是一个独一无二的资源,不存在一模一样的两栋房子,因此是不支持拷贝操作。class HomeForSale{……};HomeForSale h1;HomeForSale h2;HomeForSale h3(h1);//默认copy构造 出错h1=h2;//默认copy assignment 出...原创 2019-10-28 20:50:13 · 158 阅读 · 0 评论 -
Effective C++读书笔记之条款05 了解C++默默编写并调用哪些函数。
条款05 了解C++默默编写并调用哪些函数。1、我们编写的每个类几乎都有一个或多个构造函数、一个析构函数和一个赋值运算符。他们操控类对象基本的生死行为。2、如果自己没有声明,编译器就会为类声明一个default 构造函数,一个copy构造函数,一个copy assignment操作符和一个析构函数.所有这些函数都是 public 而且 inline(第30条)。PS:空类(empty cla...原创 2019-10-28 20:42:06 · 175 阅读 · 0 评论