博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
1. 头文件
阅读量:5941 次
发布时间:2019-06-19

本文共 787 字,大约阅读时间需要 2 分钟。

hot3.png

1.    #define 保护

(1)命名形式:<PROJECT>_<PATH>_<FILE>_H_

例如

#ifndef FOO_BAR_BAZ_H_#define FOO_BAR_BAZ_H_#endif //FOO_BAR_BAZ_H_

(2)作用:防止头文件被多次包含。

2.    头文件的依赖关系

(1)包含一个头文件,即引入头文件依赖关系。这个头文件改变时,代码都需要重新编译。

(2)使用前置声明来减少自定义头文件包含其他头文件的数量。

(3)使用前置声明的情况

a.    声明数据成员 Foo* 或 Foo&;

b.    声明静态数据成员 Foo;

c.    声明以 Foo 为参数、返回值的函数(参数 Foo 或者 const Foo& 有一个隐式单参数构造函数,则要引入类定义);

3.    内联函数

(1)利:可产生更高效的目标代码。尽量内联类成员访问、修改函数,其他简短,对性能要求关键的函数。

(2)弊:过量使用会使性能受损。可能使代码量增加。

(3)总结

a.    少于10行;

b.    不含循环或开关指令;

c.    虚函数、递归函数通常不能被内联;

4.    内联头文件

(1)在头文件中定义内联函数,编译器才能将其代码复制到调用处。

(2)头文件一般不含实现代码,除非为了改善可读性或性能。

(3)-inl.h 文件定义复杂的内联函数,避免头文件臃肿,使实现和定义分开。

(4)-inl.h 文件另一用途是定义函数模板,使函数模板定义可读性更好。

5.    函数参数次序

(1)参数次序:输入、输出。

(2)输入,数值或常引用。

(3)输出,非 const 指针。

6.    包含的命名和次序

(1)标准包含次序:C库、C++库、其他库、自定义头文件。

(2)头文件按其资源目录降序排列。

转载于:https://my.oschina.net/u/2250495/blog/345406

你可能感兴趣的文章
闭包 !if(){}.call()
查看>>
python MySQLdb安装和使用
查看>>
Java小细节
查看>>
poj - 1860 Currency Exchange
查看>>
chgrp命令
查看>>
Java集合框架GS Collections具体解释
查看>>
洛谷 P2486 BZOJ 2243 [SDOI2011]染色
查看>>
linux 笔记本的温度提示
查看>>
数值积分中的辛普森方法及其误差估计
查看>>
Web service (一) 原理和项目开发实战
查看>>
跑带宽度多少合适_跑步机选购跑带要多宽,你的身体早就告诉你了
查看>>
广平县北方计算机第一届PS设计大赛
查看>>
深入理解Java的接口和抽象类
查看>>
java与xml
查看>>
Javascript异步数据的同步处理方法
查看>>
iis6 zencart1.39 伪静态规则
查看>>
SQL Server代理(3/12):代理警报和操作员
查看>>
基于事件驱动的DDD领域驱动设计框架分享(附源代码)
查看>>
Linux备份ifcfg-eth0文件导致的网络故障问题
查看>>
2018年尾总结——稳中成长
查看>>