【发布时间】:2013-11-12 12:49:59
【问题描述】:
我想要做的只是在头文件中定义一个变量,并在两个不同的 cpp 文件上使用它,而无需在每次包含该头文件时重新定义该变量
这是我的尝试:
变量.h
#ifndef VARIABLES_H // header guards
#define VARIABLES_H
static bool bShouldRegister;
#endif
(我也尝试了 extern,但没有任何改变)
在一个 cpp 文件中,我给它一个值 ::bShouldRegister = true 或 bShouldRegister = true;
在我的另一个 cpp 文件中,我通过创建一个线程来检查它的值并在循环中检查它的值(是的,我的线程函数运行良好)
while (true)
{
if (::bShouldRegister) // Or if (bShouldRegister)
{
MessageBox(NULL,"Value Changed","Done",MB_OK|MB_ICONINFORMATION);
}
Sleep(100);
}
是的,MessageBox 永远不会出现(bShouldRegister 永远不会变为真:/)
【问题讨论】:
-
@DmitryLedentsov 您链接的信息目前已失效。和What's a good coding standard for using global variables?, C++ FAQ一样吗?
-
@Wolf,是的,它曾经是常见问题的镜像
标签: c++ variables global-variables