标签:编译 避免 声明 fine 需要 一个 执行文件 代码结构 依赖
1.确保头文件只包含一次
c++ 不允许你定义相同的符号两次或两次以上.这被称为包含保护.
#ifndef MYCLASS_H_
#define MYCLASS_H_
#endif
2.保证一个跨多个源文件的变量只有一个实例存在
一个全局变量.在c++中,你可以多次声明一个变量,只要这个声明能够匹配的上,但你只能定义一次,这就是一次定义规则.
extern关键字是一种告诉编译器这个变量的事实上的存储空间在别的地方已经分配的方法.也告诉链接器它查验的这个变量存在于别的对象文件中,并且当链接器创建最后的可执行文件或库时,它需要到别的文件中找到这个变量.
3.使用向前的类声明来减少#include的使用
在可能需要避免不必要的编译依赖的地方使用向前类声明.
4.使用命名空间来阻止名字冲突.
你在不同的模块中使用过的名字可能会产生冲突,或者你想提前创建一些代码逻辑组来避免这样的冲突出现.
解决方案:使用命名空间来模块化代码.使用命名空间,你就能把一些大的分布在多个独立的文件中的代码组成一个单一的命名空间中.并且你也可以依据需要来嵌套使用命名空间来把一个大的模块分成很多子模块.并且你的模块的用户就可以有选择的使用他们需要使用的在你的命名空间中的元素.
标签:编译 避免 声明 fine 需要 一个 执行文件 代码结构 依赖
原文地址:https://www.cnblogs.com/o-v-o/p/10127191.html