电脑桌面
添加小米粒文库到电脑桌面
安装后可以在桌面快捷访问

googlec++代码规范

googlec++代码规范_第1页
1/8
googlec++代码规范_第2页
2/8
googlec++代码规范_第3页
3/8
不忍之刃 ******************** 头文件< Header Files> The #define Guard 所有的头文件都应该使用#defin e 等来防止头文件重复包含,宏的格式应该为:___H_。 #ifndef FOO_BAR_BAZ_H_ #define FOO_BAR_BAZ_H_ ... #endif // FOO_BAR_BAZ_H_ 头文件依赖 当前面的声明已经满足依赖的时候,不要再使用#in clu de 当你包含一个头文件的时候,你就引进了一种依赖,这种依赖会导致:一旦被包含的头文件发生改变,你的代码将会被重新编译。如果你的头文件还包含了其他的头文件,那么这些头文件的任何改变都会导致包含了你的头文件的代码被重新编译。因此,我们应该最小化包含头文件,特别要注意那些包含了其他头文件的头文件。 通过使用前向声明可以显著地减少需要包含的头文件的数量。例如,如果你的头文件想使用File 类而不要进入声明了 File 类的文件,这时你的头文件就可以前向声明 File 类,而替代掉#include "file/base/file.h"。 如何能在头文件中使用File 类而不用进入它的定义文件?  我们可以声明 Fo o *或者 Fo o &类型的数据成员。  我们可以声明但并不定义带参和(或)返回 Fo o 类型值得函数。(一个例外是,如果参数 Fo o 或 const Foo&拥有非显式的单参数构造,那么这种情况下就需要全面的定义以支持自动类型转换)。  我们可以定义 Fo o 类型的静态数据成员。这是因为静态数据成员是被定义在类定义体之外的。 另一方面,如果你的类是Fo o 的子类或者有Fo o 类型的数据成员,那么你就必须包含Fo o的头文件。 这样似乎我们应该使用指针(或者更好的是scoped_ptr,这是一个简单的智能指针,它能够保证在离开作用域后对象被自动释放)。但无论如何,这样做降低了代码的易读性和程序的运行效率,所以如果目的仅仅是减少头文件包含,那么还是应该避免这种方法的使用。 当然,.cc 文件一般都需要它们所使用到的类的定义,并且通常它们都需要包含多个头文件。 注意:如果你在源文件中使用了 Fo o ,那么无论是通过使用#in clu de 还是通过使用前向声明,你自己就应该引进 Fo o 的定义。不要依赖于通过头文件传递而不是直接被包含的符号。例外的是,如果在 myfile.cc 中使用了 Fo o ,那么可以替代在 myfile.cc 中,转而在myfile.h 中进行包含(#in clu de)或者前向声明 Fo o 。 内联函数 只有当函数短小,并且少于或等...

1、当您付费下载文档后,您只拥有了使用权限,并不意味着购买了版权,文档只能用于自身使用,不得用于其他商业用途(如 [转卖]进行直接盈利或[编辑后售卖]进行间接盈利)。
2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。
3、如文档内容存在违规,或者侵犯商业秘密、侵犯著作权等,请点击“违规举报”。

碎片内容

googlec++代码规范

确认删除?
VIP
微信客服
  • 扫码咨询
会员Q群
  • 会员专属群点击这里加入QQ群
客服邮箱
回到顶部