预览加载中,请您耐心等待几秒...
1/3
2/3
3/3

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

C++编码规则(共28条)EffectiveC++1Adheretoconventionwhenwritingnewanddelete.编写new和delete时要固守常规。2Avoidhidingtheglobalnew.避免隐藏全局的new。3Avoidreturning"handles"tointernaldatafromconstmemberfunctions.避免从一个声明为const类型的成员函数返回句柄指向内部数据成员。4Declareacopyconstructorandoperator=forclasseswithdynamicallyallocatedmemory为需要动态内存分配的类声明一个拷贝构造函数和一个赋值操作符5Haveoperator=returnareferenceto*this.让赋值操作符返回*this指针的引用。6Makedestructorsvirtualinbaseclasses.在基类中定义虚析构函数。7Neverreturnareferencetoalocalobject.不要返回局部对象的引用。8Passobjectsbyreferenceinsteadofbyvalue.尽量用引用来传递对象而不是用值传递。9Writedeleteifyourwritenew.delete和new要成对使用。10Initialization初始化列表中成员列出的顺序和它们在类中声明的顺序相同11Allmembervariablesshouldbeinitializedinconstructor.所有的成员变量应该在构造函数中初始化。Meyers-Klaus12Avoidcallingvirtualfunctionsfromconstructorsanddestructors避免调用构造函数和析构函数中的虚函数ObjectOriented13Donotdirectlyaccessglobaldatafromaconstructor不要从构造函数中直接获取全局变量。14Returnreferenceto*thisinoperator=functions用operator=库函数返回*this指针的引用。PossibleBugs15Apointertoanabstractclassshallnotbeconvertedtoapointerofaclassthatinheritsfromtheabstractclass指向抽象类的指针不要转换为一个从抽象类继承来的类的指针。16Avoidassignmentinifstatementcondition避免在if条件语句中赋值17Donotcalldeleteonnon-pointers不要对非指针成员调用delete。18Donotcomparecharstoconstantsoutofcharrange不要将字符型变量和在字符型变量表示范围之外的常量做比较。19Donotcomparecharstoconstantsoutofcharrange不要将字符型变量和在字符型变量表示范围之外的常量做比较。20Don'tcheckfloatsforequality;checkforgreaterthanorlessthan不要用等式来判断浮点型值,用>=或<=来对浮点型变量做比较。21Don'tcheckfloatsforequality;checkforgreaterthanorlessthan不要用等式来判断浮点型值,用>=或<=来对浮点型变量做比较。22Ifaclasshasvirtualfunctionsitshallhaveavirtualdestructor含有虚函数的类应该有一个虚析构函数。23Localvariablesandclassvariablesshouldhavedifferentname.局部变量和对象变量应该用不同的标识符。24Nevercovertconststonon-consts决不要将常量转换为非常量。25Publicmemberfunctionsshallalwaysreturnconsthandlestomemberdata公有型成员函数总是返回常量句柄指向成员数据。Sutter-Alexandrescu26Avoidprovidingimplicitconversions避免隐式类型转换。27Makebaseclassdestructorspublicandvirtual,orprotectedandnonvirtual将基类的析构函数声明为公有的虚函数或者受保护型的非虚函数。28Throwb