C代码中当个文件中需要用到另个文件中定义类、结构、常量等内容时必须要用到
在使用时可以没有任何规则随意但是这样做结果不是循环嵌套就是导致编译过程变得异常缓慢或者产生了大量PC-L告警
所以我们要为设置些规则
在设置这些规则的前首先介绍说明下什么时候需要要介绍说明这点需要从编译过程入手
编译后会生成可执行 2进制数据在Windows系统中这些数据被生成到PE(Portable Executable)格式文件中Exe文件就是种PE格式文件其中中定义到变量、思路方法等都在PE文件中有各自存储空间当PE文件被加载时这些变量、思路方法等会在内存中被加载
从上面可以得出结论:编译时必须指导每个变量、思路方法中参数或返回值类型以便于编译时为其分配足够内存空间所以需要在编译时所有需要参数类型以便于为其分配足够内存空间
但是这有个特例那就是指针类型变量在C编译过程中系统只会为指针类型变量分配4个字节内存空间所以对于指针类型变量不需要只需要声明
好!到了这里我们就可以得出第个使用规则了:
1、只有编译时必须要知道其确切存储空间变量才需要其类型所在头文件
2、对于指针变量只需要声明不需要头文件除非用到了该指针变量中某些接口思路方法
3、除了子类要在.h文件中父类.h文件的外其他尽量只放到cpp文件中
以上3个规则就是我们使用时要注意其中第3个规则前半部分依据是规则1;后半部分依据是尽量减少不必要关联具体描述请参见Effective C
编写代码使用时如果采用了上述3个规则基本上可以保证不会有太多无关关联对降低耦合度有很大帮助
最新评论