C++ tips

1. explict 阻止隐式类型转换

2.引用传递好于值传递

3.对内置类型或STL 传值更好

4.阻止默认构造函数:将其声明为private而不定义;或继承一个这样的基类

5.虚函数的目的是允许派生类的实现得以客制化,在不同的基类中有不同的实现代码。任何类只要带有虚函数都几乎确定应该也有一个虚析构函数

6.class的设计目的若不是为了当作基类使用,或不是为了具备多态性,就不该声明虚析构函数

7.构造期间虚函数不是虚函数。在构造和析构期间不要调用虚函数,因为这类调用不会下降至派生类

8.将资源放进对象,当控制离开函数时,用对象的析构函数自动释放资源

9.智能指针tr1::shared_ptr和auto_ptr,前者通常是较佳选择,因为其copy行为比较直观。若选择auto_ptr,复制动作会使它(被复制物)指向null

10.const成员函数不能修改调用该函数的对象(即this)

11.函数不能仅仅基于不同的返回类型而实现重载

12.有些程序要先处理行,再处理每行的单词,可用stringstream实现:

1 string line, word;
2 while(getline(cin, line))
3 {
4     istringstream stream(line);
5     while(stream >> word)
6     {
7         //do pre-word processing
8     }
9 }

 

posted @ 2015-10-15 21:37  0x47  阅读(262)  评论(0)    收藏  举报