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 }

浙公网安备 33010602011771号