在 Qt 中,可以使用以下两种方法定义全局变量:

  1. 使用'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; // 使用全局变量
}
  1. 使用命名空间

可以在一个命名空间中定义全局变量,并在其它源文件中使用该变量。例如:

// 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; // 使用全局变量
}
Qt 全局变量定义方法:extern 关键字和命名空间

原文地址: https://www.cveoy.top/t/topic/n5F8 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录