习惯C++
1.C++为一个语言联邦
同时支持过程形式、面向对象形式、泛型形式、元编程形式的语言,由4个次语言组成:C、Object-Oriented C++、Template C++、STL
1.c++高效编程看状况而变化,取决于你使用c++的哪一部分
2.尽量以const,enum,inline替换#define
定义一个class专属常量
class ConstEstimate{
private:
static const double FudgeFactor; //声明于头文件内
}
const double ConstEstimate::FudgeFactor = 1.35 //定义于实现文件内
1.对于单纯常量,最好以const对象或enums替换#define
2,对于形似函数的宏,最好改用inline函数替换#define
3.尽可能使用const
const出现在*号左边,表示所指之物是常量,出现在*号右边,表示指针自身是常量,出现在*号两边,表示所指之物和指针都是常量
const成员函数,第一:它们使class接口比较容易理解,这是因为可以知道哪个函数可以改变对象内容哪个函数不行。第二:使“操作const对象”成为可能
mutable可以释放掉non-static成员变量的bitwise constness约束
1.将某些东西声明为const可帮助编译器侦测出错误用法。const可被施加于任何作用域的对象、函数参数、函数返回类型、成员函数本体
2.编译器强调实施bitwise constness,但你编写程序时应该使用“概念上的常量性”
3.当const和non-const成员函数有着实质等价实现时,令non-const版本调用const版本可避免代码重复
4.确定对象被使用前已被初始化
1.为内置对象进行手工初始化,因为c++不保证初始化它们
2.构造函数最好使用成员初始列,而不是在构造函数体内赋值操作,初始值列出的成员变量,因何它们在class中声明的次序相同
3.为免除“跨编译单元之初始化次序”问题,请以local static对象替换non-local static对象

浙公网安备 33010602011771号