习惯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对象

posted @ 2021-03-07 16:54  zzlj  阅读(57)  评论(0)    收藏  举报