TMP 模板元编程
0.explicit构造函数比non-explicit构造函数好。
1.可以用const 来代替#define 定义一个常量。
#define没有作用域,也没有封装性。
但enum不可以取地址,而const 常量能取地址。因此指针或引用不能指向enum常量。
#define定义宏时,可以用template inline函数代替。
#ifdef/#ifndef 很重要。
const vector<int>::iterator pos; //类似T* const 即指向不变
vector<int>::const_iterator pos; //类似const T* 即指向的元素不变。
函数返回值后加const 为了避免意外发生。
成员函数如果常量性不同就可被重载。
编译器遵循bitwise constness准则。如果想要实现logical constness,则用mutable改变const值
bitwise constness:只要成员函数声明为const,则类中任何一个成员都不能变。
logical constness:对于客户来说不变即可。
当重载成员函数(只有const区别),则非const调用const函数为好,中间可进行强制转换。
在写函数时要考虑const。
面对成员变量为const或reference时,他们一定要初始化列表,而不是赋值。
构造函数用初始化列表初始化。
当构造函数的初始化和赋值效率差不多时,则创建private函数存放共同的部分,在多个构造函数中调用。
当两个类在不同编译单元中,当一个类要用到另一个类对象时,不知道初始化顺序,所以为了确保顺序,必须定义一个函数
当变为下面时,
/*A& A()
{
static A a;
return a;
}
*/
情况好转。
这就是传说的singleton模式。
改进版
分享到:
相关推荐
effective c++读书笔记和总结 effective c++读书笔记和总结
effective C++读书笔记,effective C++读书笔记,effective C++读书笔记
effective C++ 很好 很不错 最好的C++进阶资料
摘录了《Effective C++》 (Scott Meyers 著)中有参考价值的编写代码建议,方面阅读
Effective C++学习笔记 没有时间看Effictive C++书的人可以看看这个笔记 总结出了重点啊 适合有c++基础的人阅读
《Effective Modern C++:改善C++11和C++14的42个具体做法(影印版)(英文版)》中包括以下主题:剖析花括号初始化、noexcept规范、完美转发、智能指针make函数的优缺点;讲解std∷move,std∷forward,rvalue引用和全局...
自己整理的侯捷版本<<Effective C++ 改善程序与设计的55个具体做法>> 学习笔记.
effective c++笔记1
Effective C++笔记1
Effective C++ Roy T 读书笔记,比较老的一本书,探讨一下C++。
内容简介:有人说C++程序员可以分为两类,读过Effective C++的和没读过的。当您读过《Effective C++:改善程序与设计的55个具体做法(第3版)(中文版)(双色)》之后,就获得了迅速提升自己C++功力的一个契机。
Effective_C++_3rd 读书笔记 pdf
通常C++要求你对所使用的任何东西提供一个定义式,但如果它是个class专属常量 又是static且为整数类型(integral type,例如int,char,bool),则可特殊处理。只要不取它们 的地址,你可以声明并使用它们而无需提供...
经典书籍 effective c++的学习笔记,一共31页,总结的很好,基本上是把原书的精华内容再加上自己的理解写在了这份文档中,适合打印出来细看。
C++ Effective STL笔记,供C++初学者学习参考。。。。。
Effective C++_中文版. 数据C++中的高级进阶类书籍,本文档可以复制,非影印版
c++笔记学习心得笔记,年多的C++学习过程中,自己阅读了很多C++经典著作,有《effective c++》,《more effective c++》,《c++ primer》等,每次阅读著作都会总结一些心得,现在拿出来和大家分享一下。
超清晰的第三版中文版的学习笔记 希望以后的PDF文档都这样清晰就好了