- 1、本文档共3页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
C编码规则
C++编码规则(共28条)
Effective C++
1 Adhere to convention when writing new and delete.
编写new和delete时要固守常规。
2 Avoid hiding the global new.
避免隐藏全局的new。
3 Avoid returning handles to internal data from const member functions.
避免从一个声明为const类型的成员函数返回句柄指向内部数据成员。
4 Declare a copy constructor and operator= for classes with dynamically allocated memory
为需要动态内存分配的类声明一个拷贝构造函数和一个赋值操作符
5 Have operator= return a reference to *this.
让赋值操作符返回*this指针的引用。
6 Make destructors virtual in base classes.
在基类中定义虚析构函数。
7 Never return a reference to a local object.
不要返回局部对象的引用。
8 Pass objects by reference instead of by value.
尽量用引用来传递对象而不是用值传递。
9 Write delete if your write new.
delete和new要成对使用。
10 Initialization
初始化列表中成员列出的顺序和它们在类中声明的顺序相同
11 All member variables should be initialized in constructor.
所有的成员变量应该在构造函数中初始化。
Meyers-Klaus
12 Avoid calling virtual functions from constructors and destructors
避免调用构造函数和析构函数中的虚函数
Object Oriented
13 Do not directly access global data from a constructor
不要从构造函数中直接获取全局变量。
14 Return reference to *this in operator= functions
用operator = 库函数返回*this指针的引用。
Possible Bugs
15 A pointer to an abstract class shall not be converted to a pointer of a class that inherits from the abstract class
指向抽象类的指针不要转换为一个从抽象类继承来的类的指针。
16 Avoid assignment in if statement condition
避免在if条件语句中赋值
17 Do not call delete on non-pointers
不要对非指针成员调用delete。
18 Do not compare chars to constants out of char range
不要将字符型变量和在字符型变量表示范围之外的常量做比较。
19 Do not compare chars to constants out of char range
不要将字符型变量和在字符型变量表示范围之外的常量做比较。
20 Dont check floats for equality; check for greater than or less than
不要用等式来判断浮点型值,用=或=来对浮点型变量做比较。
21 Dont check floats for equality; check for greater than or less than
不要用等式来判断浮点型值,用=或=来对浮点型变量做比较。
22 If a class has virtual functions it shall have a virtual destructor
含有虚函数的类应该有一个虚析构函数。
23 Local variables and class variables should have different name.
局部变量和对象变量应该用不同的标识符。
24 Never covert consts to non-consts
决不要将常量转换为非常量。
25 Public member functions shall al
文档评论(0)