如何在C++中只包含头文件中的一个符号

L L*_*iet 0 c++ header-files build-definition

我有一个很大的头文件,但在一个程序中,我只需要在该头文件中定义一些特定的变量.

在c ++中有什么办法可以告诉它只包含那个特定的变量吗?

并且,是的,变量必须只在该头文件中.

如果我包含整个头文件(因为我现在正在做),有什么不利之处?

Luc*_*ore 5

您不需要为单个变量包含标头,只需在本地声明它:

extern Type variable;
Run Code Online (Sandbox Code Playgroud)

包含所需的头文件没有根本的缺点.它会增加编译时间,特别是如果你更改标题并多次编译,但为了清楚起见,它应该包括在内.想想你重命名变量或更改其类型的情况 - 你不想在数百个使用它的地方重命名它(虽然有些IDE会让它变得相当简单),你想拥有一个中央访问点.