C++中全局变量怎么定义使用

我在做一个工程,其中有很多类,很多.CPP文件,现在想定义一个全局变量,从一个线程中接收数据,然后在另一个类中显示出收到的数据。因为不会做,所以想定义一个全局变量,但是定义了不能用,不知道怎么回事,求大神们指导。

1、全局变量的定义和普通变量的定义相同,只是在别的cpp文件中使用前需要用extern修饰符声明。
2、extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。
温馨提示:内容为网友见解,仅供参考
第1个回答  2014-07-22
全局变量的定义和不同变量的定义没啥区别啊,只是在别的cpp文件中需要用extern声明一下就可以使用了。
线程中也不能直接访问全局变量,给你一个建议:在创建线程的时候将全局变量的地址作为参数传递过去,这样就可以在线程中访问这个全局变量了。本回答被提问者采纳
第2个回答  2014-07-22
在A文件中定义全局变量(在文件开始部分)
int globle_a ;

在B文件中引用之,声明前加extern
extern int globle_a ;本回答被网友采纳
第3个回答  2014-07-22
c d;

用指针的话要动态申请内存的。
第4个回答  2015-10-07
直接定义在函数外

如何在C++中设置全局变量?
1、首先,定义一个实现加法运算自定义函数。2、接着,定义一个实现乘法运算的自定义函数。3、最后,在主函数中实现程序的运算。4、定义在函数外部没有被花括号括起来的变量称为全局变量,全局变量的作用域从变量定义的位置开始一直到文件结束。5、如果在一个程序中多个函数都要对同一个变量进行处理,可...

vc中如何定义全局变量
在Visual C++(VC)中定义全局变量,可以将其放置在任意文件中,但需确保不在函数内部定义。这样做允许在程序的不同部分访问和使用该变量。为了在其他文件中访问全局变量,可以在定义变量的文件中使用`extern`关键字进行声明,表示这个变量在其他位置定义。或者,在App类中声明一个公有成员变量,确保所有类都...

c++中怎样定义变量,使之在类和主函数,普通函数等都可以使用
要在类中能使用,就得定义public成员变量,主函数和普通函数能使用的变量,在主函数和普通函数前定义就可以了。。

VC+++ 全局变量的定义
针对全局变量,有两种连接,外部连接和内部连接,全局变量和函数默认为外部连接,即在所有文件中都是可见的,要在另一个文件中使用一个文件中定义的变量,就通过extern来说明,当在全局变量声明时说明static,则只在当前文件可见,此时就是内部连接,Static这个修饰符的作用:修饰全局和局部变量的不同:第一...

C\/C++怎么在某个函数中声明或定义全局变量?全局变量有没有这样使用的...
全局变量的定义只能在函数外部,不能在函数内部。当要使用其他文件里的定义的全局变量时,可以用关键字extern,格式是 [extern 类型 变量名;]希望对你有帮助。

全局变量怎么定义c++
\/\/int g_o;错误 \/\/int g_o = 10;错误 \/\/extern int g_o;错误 endif \/\/ header1.cpp include "header1.h"int g_n = 100;\/\/ 定义时绝对不能再加extern了,不给g_n赋值则自动赋值0 \/\/int g_n;\/\/ 也正确, g_n为0 2. header2.hpp中声明定义全局变量 \/\/ header2.hpp ifndef ...

C++Builder全局变量是怎么定义的
定义是告诉编译器要为变量分配存储空间。你在头文件中写入:AnsiString Str_Application;其实不是声明变量,而是定义变量,这就意味着包含这个头文件的地方都会为变量分配空间,所以会有很多值。正确的方法是在头文件中使用extern进行声明,而在cpp中定义一次。还有一个方法就是在头文件中使用static 定义。

C++ 怎么定义数组,才使所有调用函数都可用
定义成全局变量。全局变量是定义在函数体外的变量,拥有全局作用域。注意,全局变量如果没有初始化会执行默认初始化,特别地,如果是内置类型会初始化为0。样例程序:include <iostream>using std::cout;using std::endl;int foo;int bar = 1;void inc() {++bar;} int main(){ cout << f...

C++如何声明全局变量?
有两个类都需要使用共同的变量,将这些变量定义为全局变量。比如,res.h和res.cpp分别来声明和定义全局变量,类ProducerThread和ConsumerThread来使用全局变量。 1 2 3 4 5 6 7 8 \/***res.h声明全局变量***\/ #pragma once #include <QSemaphore> const int g_nDataSize = 1000; \/\/ 生产者生产的总...

QT\/C++外部变量或者全局变量怎么使用,来个能说清楚的。
在A类写个接口quint8 getWendu();在B类中有个A的指针,或者把A返回的温度传入B的某个方法中 quint8是8位无符号整形,可以转换其他类型 你估计想用全局,那就定义A为全局 : A wendu;在用B的地方(如果不是同一个文件要加外部声明extern),A.getWendu();...

相似回答