其他C++特性

(1) 智能指针 如需使用,仅允许使用局部化的scoped_ptr,禁止使用auto_ptr。 (2) const 引用形参用const,否则使用指针形参 (3)函数重载的使用要清晰、易读 (4)禁止使用缺省函数参数(测试框架例外) (5)禁止使用变长数组 (6)合理使用友元 (7)禁止使用C++异常,测试框架例外 (8)禁止使用RTTI (9)类型转换 使用static_cast<>()等C++的类型转换,禁止使用强制类型转换。 (10)禁止使用流 除日志接口需要,其他场景禁止使用流,使用printf代替。 (11)前置自增和自减 迭代器和其他模板对象要求使用前置自增、自减运算符。其他场景优先使用前置自增、自减。 (12)const的使用 任何可以使用的场景都要使用const,且const在前。 (13)使用确定大小的整型 使用确定大小的整型,除表示数组位数外的场景禁止使用无符号型 (14)可移植性 格式化输出及结构对其时,注意32位和64位系统差异 (15)预处理宏 除字符串化和连接的场景外,一律禁止使用宏。要求使用内联函数、枚举和常量代替宏。 (16)0和NULL 整数用0,实数用0.0,指针用NULL,字符(串)用'\0' (17)sizeof 用sizeof(变量名)代替sizeof(变量类型) (18)Boost库 仅使用Boost中被认可的库