24小时热门版块排行榜    

查看: 1308  |  回复: 6
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

edisondanny

金虫 (小有名气)

[求助] C++全局变量的设置

最近在写一个程序,由于调用的函数较多,就用了几个cpp文件和h文件,但是由于学艺不精,不知道如何设置全局变量,以便能在这几个cpp文件中通用。求解答,谢谢
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

yalefield

金虫 (文坛精英)

老汉一枚

【答案】应助回帖

引用回帖:
6楼: Originally posted by edisondanny at 2012-11-22 10:14:28
你好,还想请问一下,如果在这里面我想设置常数,也是在整个项目中都能用,该怎么设置呢。比如定义很多个数组,数组的维度都是IMAX=70 ,这些数组都是全局变量,我的IMAX该在哪个地方定义?谢谢...

那就在一个a.h文件里,写
#define IMAX 70
然后,所有的.cpp都include这个a.h
注意:如果在其他.h中也用到了IMAX,那就要保证在每个include的地方,都要先include这个a.h。
7楼2012-11-22 12:00:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 7 个回答

yalefield

金虫 (文坛精英)

老汉一枚

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
edisondanny: 金币+5, ★★★很有帮助 2012-11-22 23:05:21
在一个.cpp(如a.cpp)中,在不属于任何类的地方,定义这个变量:
int g_myvar;
在一个.h文件中,如myglobal.h中,声明这个变量是extern的:
extern int g_myvar;

于是,在任何其他.cpp中,如x.cpp中:
(1)
#include "myglobal.h"
(2)
int someclass::somefunction()
{
    m_somevar = g_myvar * 3.141592653589793;
    return m_somevar;
}
2楼2012-11-20 11:07:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

edisondanny

金虫 (小有名气)

引用回帖:
2楼: Originally posted by yalefield at 2012-11-20 11:07:14
在一个.cpp(如a.cpp)中,在不属于任何类的地方,定义这个变量:
int g_myvar;
在一个.h文件中,如myglobal.h中,声明这个变量是extern的:
extern int g_myvar;

于是,在任何其他.cpp中,如x.cpp中:
(1) ...

我先试试看。谢了
3楼2012-11-20 12:43:12
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

libralibra

至尊木虫 (著名写手)

骠骑将军

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
edisondanny: 金币+5, ★★★很有帮助 2012-11-22 23:05:32
全局变量在一处定义,其他需要使用的文件直接'extern 变量名'就行
还有个办法就是把这些变量弄进一个结构体,然后修改需要使用的函数定义,把这个结构体当做参数传递进去
matlab/VB/python/c++/Java写程序请发QQ邮件:790404545@qq.com
4楼2012-11-20 17:24:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 有时候,自然基金真的不能太认真 (我的申报经验) +8 majunge000 2026-08-11 10/500 2026-08-15 18:55 by Equinoxhua
[基金申请] filecode +8 cratir 2026-08-14 12/600 2026-08-15 18:08 by zyfgau
[基金申请] 小木虫上这么多卖论文的,真有人买论文么?感觉没必要啊 +12 Tide man 2026-08-10 13/650 2026-08-15 16:34 by 氺木
[基金申请] 欢迎发来filecode的Mz6后的代码验证其规律 +27 医学老男孩 2026-08-13 58/2900 2026-08-15 15:57 by GZUZM
[基金申请] 咱们一起用铁证分析2026国家社科基金中标与否 +7 启萌科技 2026-08-12 22/1100 2026-08-14 23:45 by Noways
[基金申请] 是这周出结果还是下周出结果? +4 yuleib84 2026-08-11 4/200 2026-08-14 23:05 by lfy8008
[基金申请] 奇怪,两个人的filecode固定段从头到尾一模一样 +8 布布和一二 2026-08-10 11/550 2026-08-14 14:58 by Equinoxhua
[基金申请] 应该是93bebmhtak前后十一个字符比较关键 +23 Lanmanbaby 2026-08-09 37/1850 2026-08-14 13:40 by Equinoxhua
[硕博家园] 读博的好处 +4 lnee 2026-08-11 4/200 2026-08-14 10:20 by ahsoarli
[基金申请] FileCode能看出啥? +10 要乐观耀哥 2026-08-10 32/1600 2026-08-14 09:37 by 要乐观耀哥
[文学芳草园] 阿姨 +4 汪汪锅 2026-08-09 4/200 2026-08-13 19:43 by arzu_hma
[基金申请] 静等基金结果 +8 gjjjzhong 2026-08-10 21/1050 2026-08-13 17:56 by 且听虎啸
[基金申请] 不应该看fileCode +7 且听虎啸 2026-08-12 9/450 2026-08-13 14:27 by flydreamws
[基金申请] 结合人工智能,周易传统文化,filecode打分制来了,3分以上希望很大。 +3 Tide man 2026-08-12 4/200 2026-08-13 08:35 by ZJTJZ
[基金申请] 2019年青年基金涵评意见,大家看看几个A,几个B? +11 Tide man 2026-08-11 11/550 2026-08-13 07:35 by 撸猫猫
[基金申请] 综述论文作为代表作会不会影响评审专家的印象分? +11 yufeiwaner 2026-08-09 13/650 2026-08-12 08:17 by yufeiwaner
[基金申请] 帮忙看看fileCode +7 wwncly 2026-08-10 13/650 2026-08-11 19:36 by 冰心玉壶晴
[基金申请] 为什么网上很多人说本周 12号出结果 +6 瞬息宇宙 2026-08-10 7/350 2026-08-11 19:25 by Tide man
[基金申请] 什么时候出结果,有咨询渠道??? +3 Tide man 2026-08-11 3/150 2026-08-11 17:54 by kudofaye
[基金申请] 面上项目filecode邪修 +5 西山十月 2026-08-09 7/350 2026-08-10 07:32 by 仁砚薪传
信息提示
请填处理意见