2、放在头文件的好处减少了程序代码的冗余,弊端是会重复引入编译报错,可讲extern放入头文件中
,这样的话好处与前面的相同
其实没有绝对的利弊,就好比在goto在实际开发中的运用,适合就是最好的
在C++中,通常将头文件用于声明类、函数、变量等,而将定义放在源文件中实现。这是因为在C++中,头文件通常包含声明信息而不是定义信息。声明告诉编译器一个名称的类型和标识符,并告诉它在何处可以找到定义,以便在编译期间使用该名称。定义实际上是创建名称的实例,并将其分配给一些内存地址。如果您在头文件中声明了一个变量,并在源文件中对其进行定义和初始化,则编译器会为每个包含该头文件的源文件创建该变量的实例。这将导致多个编译单元(源文件)中出现同名的变量,从而会导致链接错误,因为编译器无法确定该变量应该指向哪个实例。
为了避免这种情况,您可以使用extern关键字在头文件中声明变量,然后在源文件中定义并初始化它。这将告诉编译器该变量的定义只存在于一个源文件中,从而避免了多个实例之间的冲突。
望采纳
一般来说头文件里包含:
1。引用的头文件
2。(外部)全局变量声明
3。结构体,类,枚举,宏定义
4。(外部)函数声明
5。......
源文件包含:
1。引用的头文件
2。全局变量定义
3。函数实现
4。仅本文件内使用的全局变量
5。也可以包含头文件的全部内容
6。......
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)