
C++
sanyu.lh
这个作者很懒,什么都没留下…
展开
-
effective C++读书笔记--【条款02:尽量以const,enum,inline替换#define】
摘要 这一节按照顺序说了以下这么5件事情: 上来首先强调一个观念,尽量用const常量来替换#define定义,原因有两个,1) const常量名会进入记号表方便调试;2)#define会导致目标码出现多份对象;第1条引申出两个特殊情况分别列出在第2和第3; 但是第1条所说的const常量有两个特殊情况,这里第一个特殊情况是定义常量指针,因为常量定义式通常放在头文件,因此头文件内的常量指针必...原创 2018-09-04 14:20:40 · 252 阅读 · 0 评论 -
effective C++读书笔记--【条款03:尽可能使用const】
这一节的意思其实总结下来就是一个目的:“对象不该被改变”的语义约束尽量交给编译器来做,方法就是使用const,说人话就是如果程序员希望一个对象的值是不能被改变的,请积极大胆的给这个对象加上const。 然后为什么要尽量使用const呢,作者大体从4个角度来说明这个const的使用场景: const指针和指向const对象的指针; STL迭代器与const结合后的效果; 函数的返回值或参数搞...原创 2018-09-08 19:40:25 · 211 阅读 · 0 评论 -
effective C++读书笔记--【条款05:了解C++默默编写并调用哪些函数】
蓝图 码农没干 -->编译器代劳 -->编译器什么时候动手 -->编译器的劳动产出的特殊之处 -->编译器的copy assigment的坑 空类 作者提出了一个所谓的“空类”的概念,对于普通码农来讲,空结构体可能更易...原创 2019-03-31 18:09:37 · 229 阅读 · 0 评论 -
effective C++读书笔记--【条款06:若不想使用编译器自动生成的函数,就该明确拒绝】
蓝图 这条其实基本上就是针对copy构造函数和copy assignment操作符这两个函数的,为什么这么说呢,其他的函数,不想用的话,不要声明不要定义就完了,但是copy构造函数和copy assignment操作符不声明不定义的话编译器会自动整一套public的出来,所以这让人比较为难,作者给出了两个方案: 声明为private,但是不予以定义; 使用Uncopyable base cl...原创 2019-03-31 21:42:16 · 168 阅读 · 0 评论 -
effective C++读书笔记--【条款07:为多态基类声明virtual析构函数】
问题 base class的指针p,指向一个derived class,如果: base class带着一个non-virtual析构函数; derived class对象经由这个base class指针被删除; 这种情况一旦发生,结局就是: 其结果未有定义----实际执行时通常发生的是对象的derived成分没有被销毁 解决办法 解铃还需系铃人,作者说冤有头债有主,即然罪魁是bas...原创 2019-04-01 21:10:14 · 712 阅读 · 0 评论