google C++
- 代码风格是程序重要的组成部门,好的程序猿应该养成良好的代码风格,今天开始学习google C++的代码风格。
1. 包含头文件和前向声明的选择
- 尽量使用包含头文件的方法,前置声明可以使用在一般类的指针或引用、函数返回至或形参,静态变量。
- 前置声明能够减少包含的头文件的数目,防止某个头文件被修改时,造成多个文件的重新编译
- 尽量不要在头文件中包含头文件
- 每个都头文件都要有#define保护,形式<PROJECT>_<PATH>_<FILE>_H_
2. 内联函数
- 内联函数一般非常小,处理的问题的逻辑比较简单,被多次调用,代码一般少于10行。
- 析构函数和递归函数不要声明为内联函数
- 内联函数的定义要在头文件中,保证内联函数对编译器可见,使得可以在编译时能够展开内联函数
3. -inl.h
- 内联函数的定义要放置在头文件中,如果不想让头文件闲的过于臃肿,或者不想因为内联函数改变导致的一些副作用,可以将内联函数的定义单独放置在一个以inl.h结尾的文件中。
- 该文件同样需要#define的保护。
4. 函数参数顺序
- 函数参数分为两种输入参数和输出参数,当让也有一部分参数即使输入又是输出参数
- 输入参数在前(一般是值或者是常量引用),输出参数在后(一般是非常量指针)
5. Include文件的顺序
- 头文件按顺序书写(首先是.cc文件对应的.h文件,然后是C库函数、C++库函数,最后是本项目对应的头文件)不但提高可读性而且能够提高,而且能够有效减少隐藏依赖
- 在大分组中具体头文件的顺序按照字典序进行
6. 命名空间
- 使用命名空间能够避免命名冲突,但是也会带来一些麻烦的规则。
- 未命名的命名空间是允许的,鼓励在.cpp文件中使用未命名的命名空间,不要在头文件中使用,如果使用每个引用的文件会生成不同的命名空间
- 使用using声明不要使用using指示
自己的网络笔记