头文件本身并不会引入新的作用域或名称空间,甚至不会引入任何类。
预处理#include
指令中包含的头文件基本上按原样复制粘贴到转换单元中,以供编译器的后续阶段进行解析。
简而言之,源文件和头文件之间确实没有任何区别。两者都可以包含函数或类的声明或定义。
一个非常简化的示例。
假设您有a.h
一个包含单个函数声明的头文件:
void a_function();
然后,您将获得一个包含头文件的源文件:
#include "a.h"
int main()
{
a_function();
}
预处理后,翻译单元将如下所示:
void a_function();
int main()
{
a_function();
}
该函数a_function
不是类的一部分,而是全局函数。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句