怎么跨文件声明变量_如何跨类声明变量_l198738655的博客-程序员秘密

技术标签: C/C++  


比如在A.ccp里有个全局变量
int chun_ge
想在另一个BB.ccp文件中使用这个全局变量该怎么做?


我们可以在BB.ccp文件中再"声明"一次,像这样:

extern int chun_ge

这就像引入一个.h文件一样引入了其他.cpp文件中的变量。当然能这么做的只能是全局变量。这样再次“声明”了一次后,在BB.ccp文件中使用"chun_ge"变量时就不需要再做其他处理了。对于其他的例如list链表容器或者vector也同样适用。

例:
std::list <Someone>Openlist; //开启列表	 
std::list <Someone>Closelist; //关闭列表
std::list <Someone>Inspectlist; //考察列表
std::list <Someone>Resultlist;  //结果列表

std::list <Someone>::iterator OpenIter;  //开启列表迭代器
std::list <Someone>::iterator CloseIter; //关闭列表迭代器
std::list <Someone>::iterator InspectIter; //考察列表迭代器
std::list <Someone>::iterator ResultIter; //结果列表迭代器

Someone Current; //当前结构体
Someone Inspect; //考察结构体

换一个文件使用这些容器:

extern list <Someone>Openlist; //开启列表	 
extern list <Someone>Closelist; //关闭列表
extern list <Someone>Inspectlist; //考察列表
extern list <Someone>Resultlist;  //结果列表


extern list <Someone>::iterator OpenIter;  //开启列表迭代器
extern list <Someone>::iterator CloseIter; //关闭列表迭代器
extern list <Someone>::iterator InspectIter; //考察列表迭代器
extern list <Someone>::iterator ResultIter; //结果列表迭代器

extern Someone Current; //当前结构体
extern Someone Inspect; //考察结构体



版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/l198738655/article/details/80167660

智能推荐

java未定义类型_java类的定义与使用_eternal?的博客-程序员秘密

一 引用数据类型1.引用数据类型的分类我们可以把类的类型为两种:第一种,Java为我们提供好的类,如Scanner类,Random类等,这些已存在的类中包含了很多的方法与属性,可供我们使用。第二种,我们自己创建的类,按照类的定义标准,可以在类中包含多个方法与属性,来供我们使用。2.自定义数据类型的概述类,它是引用数据类型,与之前学习的所有引用数据类型相同,自定义类也是一种数据类型。只是自定义类型并...

小波变换 _billy_zhu的博客-程序员秘密

MATLAB 小波变换2010-01-11 20:513. 图像小波变换的 Matlab 实现函数 fft、fft2 和 fftn 分析3.1 一维小波变换的 Matlab 实现(1) dwt 函数   Matlab功能:一维离散小波变换格式:[cA,cD]=dwt(X,wname)        [cA,cD]=dwt(X,Lo_D,Hi_D)别可以实现一维、

黑马程序员 IO流总结_up_everyday的博客-程序员秘密

------- android培训、java培训、期待与您交流! ----------

L2-Basics of Probability Theory_binomial likelihood_Nhrun的博客-程序员秘密

OutlineUnivariate Probability DistributionsMultivariate Probability–Bayes’ TheoremParameter Estimation1. Univariate Probability DistributionsUnivariate-单变量的,Multivariate-多变量的单变量概率分布:1.1 Bino...

[转]什么是SAP PA培训和考试?_dayishi2939的博客-程序员秘密

最近在关心PA认证的事,可是不参加培训就不能考试,可惜,下面是在网上找到的一个简介,对PA有一点认识。我参加了3月10日到5月19日的SAPPA培训,MM模块的。昨天(5月19日)考试,可惜落榜了,呵呵。并不意外,看书的时间太少了。不过通过培训,英语有了质的飞跃,能看懂英语句子了(以前只看单词,例Player、HP、Gameover),SAP的知识也学了不少,收获还是很...

第二章:probability distribution_weishenmetlc的博客-程序员秘密

1: Density Estimation: given a finite set x1...xN\textbf{x}_{1}...\textbf{x}_{N} of observations, find distribution p(x)p(\textbf{x}) of a random variable x\textbf{x}.2: Parametric Distribution: assu

随便推点

Sample Probability Space_probability space例题_Cam_00的博客-程序员秘密

Sample Probability SpaceA simple probability space consist of a tuple (Ω\OmegaΩ,ε\varepsilonε,p)Ω\OmegaΩ is a finite set (with cardinality k= ∣\mid∣Ω\OmegaΩ∣\mid∣)ε\varepsilonε = { A : A ⊆\subseteq⊆ Ω\OmegaΩ } consist of all finite subsetsEach events

【配置】npm修改为阿里镜像_npm阿里_一起去稻城的博客-程序员秘密

1、在控制台输入命令:npm config get registry 验证输出默认地址为:https://registry.npmjs.org/2、修改为阿里镜像地址命令:npm config set registry https://registry.npm.taobao.org之后再用第一步的命令验证是否配置成功控制台输出:https://registry.npm.taobao.org/ 配置成功...

hibernate save,update,saveorupdate方法有什么区别_weixin_30790841的博客-程序员秘密

save肯定是添加的时候用,update修改时候用,saveorupdate是添加或修改,如果真是这样save和update的存在就没意义了,我们直接saveorupdate就行了。save在添加用的时候 不会出现索引机制(即遍历目录 效率最高)update在修改时候要遍历 不存在则会异常saveorupdate是优先遍历 如果不存在则创建(效率最低)merge和saveOrUpdat...

数据结构-考研难点代码突破 (C++实现有向无环图的拓扑排序)_NUC_Dodamce的博客-程序员秘密

AOV网∶若用DAG 图(有向无环图)表示一个工程,其顶点表示活动,用有向边表示活动 Vi必须先于活动Vj进行的这样一种关系,则将这种有向图称为顶点表示活动的网络,记为 AOV网。在AOV网中,活动Vi是活动Vj的直接前驱,活动Vj是活动Vi的直接后继,这种前驱和后继关系具有传递性,且任何活动V不能以它自己作为自己的前驱或后继。由于输出每个顶点的同时还要删除以它为起点的边,故采用邻接表存储时拓扑排序的时间复杂度为O(V+E),采用邻接矩阵存储时拓扑排序的时间复杂度为 O(V。

[转载]资深程序员点评当前某些对Lotus Domino 的不实评论_ama7449的博客-程序员秘密

实现机关办公自动化工作需要计算机技术的支持,在计算机软件范围中,有网络操作系统软件、数据库软件和开发工具等基本系统软件,在此基础上开发出适合本单位使用的应用软件。对如何选用系统软件,笔者没有发言权,但是根据实际情况,笔者有必要对Lotus Domino谈点人个看法。因为该软件一是目前比软流行且已为众多机关所采用,二是该软件费用软高,三是由于该软件是个半成品软件,稍加改...

iOS进阶之底层原理-应用程序加载(dyld加载流程、类与分类的加载)_dyld_uuid_info_hengsf123456的博客-程序员秘密

iOS应用程序的入口是main函数,那么main函数之前系统做了什么呢?我们定义一个类方法load,打断点,查看栈进程,我们发现dyld做了很多事,接下来就来探究到底dyld做了什么。什么是dylddyld是英文the dynamic link editor的简写,翻译过来就是动态链接器,是苹果操作系统的一个重要的组成部分。在iOS/Mac OSX系统中,仅有很少量的进程只需要内核就能完成加载,基本上所有的进程都是动态链接的,所以Mach-O镜像文件中会有很多对外部的库和符号的引用,但...