c++中如何定义并添加全局变量

如题所述

“C++的全局常量只有静态连接性能。这不同于C,如果试图在C++的多个文件内使用全局变量会产生LNK2001错误。一种解决的方法是需要时在头文件中加入该常量的初始化代码,并在.CPP文件中包含该头文件;另一种方法是使用时给该变量赋以常数。”
---------------------------

描述:我有一组常量数组和变量数组,定义在单独一个DATA_DEF.C文件中,在data_def.h中声明。现在我的另外两个文件main.cpp和function.cpp中都需要用到其中的数据,引用了data_def.h文件。(即:我想将DATA_DEF.h中的数据看做是对整个工程的全局量)

将数据定义写在.cpp中,然后在.h中声明
在需要使用的地方包含.h文件就可以了
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-06-09

    全局变量的定义和普通变量的定义相同,只是在别的cpp文件中使用前需要用extern修饰符声明。

    extern可置于变量或者函数前,以表示变量或者函数的定义在别的文件中,提示编译器遇到此变量或函数时,在其它模块中寻找其定义。另外,extern也可用来进行链接指定。

第2个回答  2007-05-23
除了将数据定义写在.cpp中,然后在.h中声明
在需要使用的地方包含.h文件就可以了
还必须加上exten说明所使用到的.cpp里面的变量!!
第3个回答  2007-05-18
在函数体外声明的变量都是全局变量。

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

全局变量怎么定义c++
1. header1.h中声明全局变量,header1.cpp中定义全局变量 \/\/ header1.h ifndef HEADER1_H_define HEADER1_H_extern int g_n;\/\/ 头文件中必须加extern声明全局变量,不赋值 \/\/int g_o;错误 \/\/int g_o = 10;错误 \/\/extern int g_o;错误 endif \/\/ header1.cpp include "header1.h"in...

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

C++如何声明全局变量?
比如,当文件a,b都需要访问一个全局变量val时,就要在文件a,b中声明如下extern int val;如果只是在同一文件中使用这个全局变量就不需要extern了。 tangrong2 | 发布于2011-11-23 举报| 评论 0 0 如果要是你只编写一个C文件的话,全局变量在main 函数和其他定义的函数之外定义就行啦;但如果涉及到两个或者两...

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

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

如何用C++将vector数组定义成全局变量
一个分配器被vector所使用,标准库只有一些分配器的基本界面,要写自己的分配器,就几乎全都要自己实现如果用的是MinGW,可以这样写:include <array>#include <vector>#include <ext\/array_allocator.h>int *packaged_pointer;namespace gxx = __gnu_cxx;typedef gxx::array_allocator<int,std::...

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

c++如何定义全局变量
using namespace std;int main(){ void shuru();void shuchu();extern a;shuru();shuchu();return 0;} int a;void shuru(){ cin>>a;} void shuchu(){ cout<

VC+++ 全局变量的定义
局部变量是存储在堆栈数据区的,可见性为当前函数,加上static后,存储区为静态数据区,可见性不变,即,一个变量有两个特征:存储位置和可见性,对extern的另外说明:首先,要在一个文件里使用在另一文件中定义的变量时通过extern来引用,但注意可以在函数内部来extern,也可以在函数之外,即声明全局变...

相似回答