在QT中定义一个全局变量
在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/fdbQ 著作权归作者所有。请勿转载和采集!