相关疑难解决方法(0)

如何在C++中声明一个全局变量

我知道不应该使用全局变量,但我需要它们.我已经读过在函数外声明的任何变量都是全局变量.我已经这样做了,但在另一个*.cpp文件中找不到该变量.所以它不是全球性的.是不是必须创建一个头文件GlobalVariabels.h并将该文件包含到使用它的任何其他*cpp文件中?

c++ visual-studio

53
推荐指数
3
解决办法
22万
查看次数

c ++全局对象

我想在cpp程序中创建一个全局对象,我该怎么做?这是正确的吗?在"global_obj.h"中

#include "class.h"
Class obj;
Run Code Online (Sandbox Code Playgroud)

在"main.cpp"中

extern Class obj;
Run Code Online (Sandbox Code Playgroud)

c++

8
推荐指数
1
解决办法
1万
查看次数

全局变量和范围 - C++

我在使全局变量工作时遇到小问题.我使用的是Visual Studio 2008和标准C++.

我有两个项目,一个是静态库,第二个是使用该库的测试程序.我在global.h中有一个全局变量

#ifndef GLOBAL_H
#define GLOBAL_H

#include <string>

extern std::string globalWord;

#endif // GLOBAL_H!
Run Code Online (Sandbox Code Playgroud)

我有一个global.cpp,我正在初始化这个变量.该变量在我的库项目中使用.我正在从测试项目中为此变量设置一个值,但该值未反映在库项目中.

我已调试并在测试项目中显示新值,但是当控件到达库项目时,此变量值显示为空.那么这个全局变量的范围仅限于它所属的项目吗?

或者有更好的方法吗?我不想修改我的库中的函数或构造函数参数来传递此值.

任何帮助都会很棒.

编辑:

以下是在global.cpp中声明此变量的方式

#include <string>
#include "../global.h"

std::string globalWord = "";
Run Code Online (Sandbox Code Playgroud)

这就是我在我的库中使用它的方式

#include "../global.h"
string text = globalWord;
Run Code Online (Sandbox Code Playgroud)

谢谢

c++ variables scope global-variables

4
推荐指数
2
解决办法
2万
查看次数

标签 统计

c++ ×3

global-variables ×1

scope ×1

variables ×1

visual-studio ×1