Google 编程规范本地化、简化。如有需要,可参考 Google C++ code style guide原文:
http://google.github.io/styleguide/cppguide.html
本文档基于网上流传的Google C++编程风格指南
,由 edisonpeng(2009/3/25)
整理
本地化简化由MISAS
开发团队使用。在此分享以供各开发团队参考。
目录
其他C++特性
智能指针
如需使用,仅允许使用局部化的scoped_ptr,禁止使用auto_ptr
const
引用形参用const,否则使用指针形参
函数重载的使用要清晰、易读
禁止使用缺省函数参数(测试框架例外)
禁止使用变长数组
合理使用友元
禁止使用C++异常,测试框架例外
禁止使用RTTI
类型转换
使用static_cast<>()等C++的类型转换,禁止使用强制类型转换。
禁止使用流
除日志接口需要,其他场景禁止使用流,使用printf代替。
前置自增和自减
迭代器和其他模板对象要求使用前置自增、自减运算符。其他场景优先使用前置自增、自减。
const的使用
任何可以使用的场景都要使用const,且const在前。
使用确定大小的整型
使用确定大小的整型,除表示数组位数外的场景禁止使用无符号型
可移植性
格式化输出及结构对其时,注意32位和64位系统差异
预处理宏
除字符串化和连接的场景外,一律禁止使用宏。要求使用内联函数、枚举和常量代替宏。
0和NULL
整数用0,实数用0.0,指针用NULL,字符(串)用’\0’
sizeof
用sizeof(变量名)代替sizeof(变量类型)
Boost库
仅使用Boost中被认可的库