Qt 全局变量定义方法:extern 关键字和命名空间
在 Qt 中,可以使用以下两种方法定义全局变量:
- 使用'extern'关键字
可以在任意一个头文件中定义全局变量,并在其它源文件中使用该变量。例如,在一个头文件中定义:
// global.h
#ifndef GLOBAL_H
#define GLOBAL_H
extern int g_value;
#endif // GLOBAL_H
然后在一个源文件中初始化该变量:
// main.cpp
#include "global.h"
int g_value = 10;
int main(int argc, char *argv[])
{
// ...
}
在其它源文件中,可以通过包含该头文件来使用该变量:
// other.cpp
#include "global.h"
void foo()
{
int value = g_value; // 使用全局变量
}
- 使用命名空间
可以在一个命名空间中定义全局变量,并在其它源文件中使用该变量。例如:
// global.h
#ifndef GLOBAL_H
#define GLOBAL_H
namespace Global {
extern int value;
}
#endif // GLOBAL_H
然后在一个源文件中初始化该变量:
// main.cpp
#include "global.h"
namespace Global {
int value = 10;
}
int main(int argc, char *argv[])
{
// ...
}
在其它源文件中,可以通过使用该命名空间来使用该变量:
// other.cpp
#include "global.h"
void foo()
{
int value = Global::value; // 使用全局变量
}
原文地址: https://www.cveoy.top/t/topic/n5F8 著作权归作者所有。请勿转载和采集!