全局变量的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 14:48:17
b.h包含a.h,a.h中声明一个变量abc,a.cpp中定义abc变量,abc在b.h中是不是全局变量

不要在H文件中定义全局变量

涉及包含的问题

有时候某些头文件包含不到的,因为通常我们都为了避免重复包含,都使用
#ifndef __HEADER_FILE___
#define __HEADER_FILE___
#endif

这就可能造成,即使有的文件包含了该文件,也不一定就有了变量的声明[被其他文件先包含了].

总之吧,问题还是不少的

通常的作法

在c/cpp文件中定义

int nGlobal = 0;

int GetGlobal()
{
return nGlobal;
}