使用其他文件的全局变量,或者全局常量

#ifndef MY_H_INCLUDED
#define MY_H_INCLUDED

extern int a  ;

extern const int b;

#endif // MY_H_INCLUDED
#include "my.h"

int a = 100 ;
extern const int b = 200 ;
#include <iostream>
#include "my.h"

int main()
{

    std::cout<<a<<std::endl;
    std::cout<<b<<std::endl;

    return 0;
}

结论:对于const类型常量,需要申明和定义都加上extern。而,普通全局变量,只需要在头文件申明时加extern

时间: 2024-08-23 21:26:22

使用其他文件的全局变量,或者全局常量的相关文章

比较全局变量、全局静态变量、局部变量、局部静态变量的区别

比较全局变量.全局静态变量.局部变量.局部静态变量的区别,他们在编译完后存储位置在什么地方.初始化值在什么地方.内存什么时候分配.赋初值对这些变量有哪些影响等.要弄清楚这些问题,首先要弄清楚下面几个知识点. C语言分下面几个存储区: 1.栈区(stack) 由编译器在需要的时候自动分配释放,在不需要的时候就自动清除的变量存储区.通常存放的变量是函数的参数值.局部变量的值等,其操作方式类似于数据结构中的栈. 2.堆区(heap) 一般由程序员去分配释放,和编译器完全没有关系,直接由我们的应用程序去

全局变量与全局静态变量的区别

全局变量与全局静态变量的区别: (a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别. (b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享,即:全局静态变量对组成该程序的其它源文件是无效的. (c)具有外部链接的静态:可以在所有源文件里调用:除了本文件,其他文件可以通过extern的方式引用: 静态全局变量的作用: (a)不必担心其它源文件使用相同变量名,彼此相互独立. (b)在某源文件中定义的静态全局变量不能被其他源文件使用

C++中如何访问全局变量和全局函数

全局变量和全局函数是相对局部变量和局部函数而言的,不在{}或者for, if 等范围内的都是全局变量或者全局函数,最简单的是在同一个文件中去声明. 例如在mian.cpp中 #include <iostream> int gResult; int gAdd(int a, int b) { return a + b; } int main(int argc, const char * argv[]) { gResult = aAdd(2, 3); } 这样的话main函数上面的都是都是全局变量和

项目中填写全局常量

项目中用到了全局常量,简单记录一下: 然后,吧查出来的变量放到全局变量中即可

通过Web.config中的configSections配置自己系统的全局常量

随着系统的庞大,你的全局信息保存在appsitting里可能会比较乱,不如为模块写个自定义的全局常量吧 首先在Web.Config文件中的代码可能是这样:<configuration> <configSections> <section name="MyConfig" type="My.Core.Configuration.MyConfig, My.Core" requirePermission="false" /&

如何在组件中使用全局常量

第一步,在 src 下新建 const 文件夹下 新建 const.js . ├── src │ ├── const │ │ ├── const.js │ │ │ └── main.js └── ... 第二步,如何在 const.js 文件下,设置常量 export default { install(Vue,options){ Vue.prototype.global = { title:'全局', isBack: true, isAdd: false, }; } } 第三步,在 main.

全局变量和全局静态变量的区别

全局变量与全局静态变量的区别: (a)若程序由一个源文件构成时,全局变量与全局静态变量没有区别. (b)若程序由多个源文件构成时,全局变量与全局静态变量不同:全局静态变量使得该变量成为定义该变量的源文件所独享    即:全局静态变量对组成该程序的其它源文件是无效的. 静态全局变量的作用: (a)不必担心其它源文件使用相同变量名,彼此相互独立. (b)在某源文件中定义的静态全局变量不能被其他源文件使用或修改. ---------------我的七夕面试题 全局变量和全局静态变量的区别,布布扣,bu

c++多文件使用全局变量的方法

开始错误的做法 在global.h声明并定义变量 int sharedData = 9; 编译出错 Building target: CTest Invoking: GCC C++ Linker g++ -o "CTest" ./src/CTest.o ./src/global.o ./src/global.o:(.data+0x0): `sharedData'被多次定义 ./src/CTest.o:(.data+0x0):第一次在此定义 collect2: 错误: ld 返回 1 正

Node中的全局变量和全局对象

全局对象和全局变量 概念:所有属性都可以在程序的任何地方访问,即全局变量.在JavaScript中,通常window是全局对象,而Node.js的全局对象是global,所有全局变量都是global对象的属性,如:console.process等. global最根本的作用是作为全局变量的宿主,满足一下条件称为全局变量 1. 在最外层定义的变量 2. 全局对象的属性 3. 隐式定义的变量 ▲ 在node中不可能在最外层定义变量,因为所有的用户代码都是属于当前模块的,而模块本身是不属于最外层上下文