目前,鉴于工作需求,为了提升自己的编码能力,与编码规范性。作者研究《Effective C++》一书,接下来将陆续做一些总结,与大家分享,供大家学习。
1.C++语言已经是个多重范型的编程语言,C++语言可被看作一个语言联邦,四个次语言是:1)C;2)Object-Oriented C++;3)Template C++;4)STL。四个次语言进行高效编程时有各自的编程守则。
2.少用define,尽可能使用const、enum、inline。宏定义实在预处理阶段被预处理器进行分析替换,宏定义的符号并不会在编译阶段进行安全检测,因此,严格意义上,宏并不是语言的一部分。由宏造成的错误在追踪是困难的,将降低编程效率。
3.尽可能使用const。开发者不希望某个变量或指针时,尽量使用cont去修饰该变量或指针,该做法实则时通知编译器与其他的开发者,此变量或指针不能被改变,并且编译器会强制实施该约束。 (常量指针:const int *p==int const *p;指针常量:int *const p)。
4.对象(变量、指针...)在使用前必须被初始化。在一些语境下,对象(变量、指针...)会被自动初始化,但在某些平台下不会,可能导致未初始化值不明确等问题,让实现异常终止或产生不可测的结果。
5.了解C++编译器默默编写调用的函数。例如,默认构造函数、析构函数、copy构造函数等。
6.若不想使用编译器自动生成的函数功能,应该明确拒绝。如果对于一个类,开发者不想此类具有copy功能,但编译器会自动生成copy函数,操作者可以在private区声明copy函数(但不去实现这个函数题),如此,此类的copy功能将不能使用(调用时编译器会报错)。