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)如果需要用户在程序执行期间对抛出的异常做出反应,那么应该在类中提供一个普通函数执行该操作。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· winform 绘制太阳,地球,月球 运作规律
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人