C++ 高效编码准则:1-7

目前,鉴于工作需求,为了提升自己的编码能力,与编码规范性。作者研究《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功能将不能使用(调用时编译器会报错)。

7.不要让析构函数吐出异常。1)如果在析构函数中调用的某个函数可能抛出异常,应该使用析构函数捕捉这个异常,然后吞下它(不传播)或终止程序。2)如果需要用户在程序执行期间对抛出的异常做出反应,那么应该在类中提供一个普通函数执行该操作。

posted @   hik_老鬼  阅读(48)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
点击右上角即可分享
微信分享提示