Effective C++笔记
MrGuo
这个作者很懒,什么都没留下…
展开
-
Effective C++ 学习笔记2
条款02:尽量以const、enum、inline替换#define#define是多么的方便,简洁方便,想定义谁就定义谁,可是考虑过编译器的感受,考虑过后期的维护工作吗?在我刚学c++时我是没有想过的,拿来就用,随便用,额款式现在问题出来了:#define ANEXAMPLE 10.25 //这个东东叫预处理器也就说,ANEXAMPLE 编译器压根没有见过,一旦发生错误,嘿嘿他可能只原创 2013-11-02 19:51:08 · 444 阅读 · 0 评论 -
Effective C++ 条款4——确定对象被使用前已先被初始化
得到的原创 2013-11-18 10:17:40 · 816 阅读 · 0 评论 -
Effective C++ 条款3——尽可能使用const
df原创 2013-11-07 14:36:41 · 598 阅读 · 0 评论 -
Effective C++ 学习笔记1
这本Effective C++在我的手边好久了,诶,但怎怪自己懒惰,令其至于黑暗之中。前几日偶然翻起发现颇多金玉良言。特此将看书时的笔记搬到博客中,其实也就是书中内容的概括家自己的理解和牢骚。主要目的一是为了加深记忆,二是为了分享心得。章节一:让自己习惯C++条款01:视C++为一个语言联邦(就是语言集合)C++总共包含四个部分C、面向对象C++、模板C、STL。C不必多说应该是所原创 2013-10-29 14:23:31 · 560 阅读 · 0 评论 -
Effective C++ 条款5——了解C++默默编写并调用哪些函数
关于C++,经常有种声音就是编译器背着程序员做了太多的事情。比如说今天要说的default构造函数、copy构造函数和析构函数。当我们写下一个类时 class Empty{ };那么我们的编译器就会默默的为我们合成一些函数,我们的类就会像这个样子原创 2013-11-24 14:26:09 · 542 阅读 · 0 评论 -
Effective C++ 条款6——若不想使用编译器自动生成的函数,就该明确拒绝
拒绝方法上一节中说编译器为我们合成课一些函数,他们不仅仅功能简陋,甚至有时是我们所明令禁止的。比如说复制,在业务逻辑上,有些先天独一无二的东西是不允许复制的。对于其他功能,只要我们在类中不去声明定义,那么自然不会有此功能,但对于copy构造函数和copy assignment操作符就不会起作用。正如上一节所说,若果不去声明定义,那么编译器会为我们声明他们。这里有一个办法:看原创 2013-12-02 09:37:44 · 575 阅读 · 0 评论 -
Effective C++条款8,9析构中的异常和虚拟函数
条款8:别让异常逃离析构函数析构函数的作用就是清理资源等后续工作,一旦这里发生异常就会产生严重后果。所以在编写析构函数时要格外小心。如class Widget{public:...~Widget(){...}};void doSomething(){std::vector v;...}注:vector是STL内东东,类似于数组,不过更加强大。那么vec原创 2013-12-30 19:27:59 · 492 阅读 · 0 评论 -
Effective C++ 条款7——为多态基类声明virtual析构函数
本章节就在强调一件事情,如果一个类是基类,且用于多态,那么该base class的析构函数,要写成virtual 的。如果其不是base class 或不用于多态就不要用virtual析构了。注:多态就是基类指针指向子类对象。可这是为什么呢?若class TimeKeeper{public:TimeKeeper();~TimeKeeper();.....};class原创 2013-12-17 09:40:27 · 585 阅读 · 0 评论