.h文件中static bool m_bState 如何在.cpp文件构造函数中给static变量赋值
时间: 2024-10-27 10:06:39 浏览: 17
stdbool.zip_stdbool_stdbool.h_stdbool.h下载_stdbool下载
5星 · 资源好评率100%
在`.h`头文件中声明静态布尔变量`static bool m_bState`是为了在整个程序范围内共享这个状态信息,并且它在内存中只初始化一次。在`.cpp`文件的构造函数中给这个静态变量赋值通常如下:
首先,在`.h`文件中声明:
```cpp
// header file (.h)
extern static bool m_bState;
```
然后,在`.cpp`文件的某个合适位置(通常是全局区或模块级初始化部分),在`main()`之前或`::std::init_atexit()`这样的环境中,给`m_bState`赋初始值:
```cpp
// source file (.cpp)
#include "header.h"
bool m_bState = false; // 或者你想赋予的其他初始值
int main() {
// 其他代码...
}
```
或者如果你不想在全局区初始化,可以考虑放在类的静态成员初始化列表里,如果这个变量属于某个类:
```cpp
class MyClass {
public:
MyClass() : m_bState(false) {} // 如果m_bState是MyClass的静态成员
private:
static bool m_bState;
};
bool MyClass::m_bState = false;
```
记住,由于静态变量只会初始化一次,所以你在上述任一地方给`m_bState`赋值,都会影响整个程序。在后续的代码中,只需要通过`m_bState`这个标识符就可以访问到这个静态变量。
阅读全文