游戏开发论坛

 找回密码
 立即注册
搜索
查看: 2486|回复: 6

关于C++中全局变量的问题

[复制链接]

29

主题

354

帖子

359

积分

中级会员

Rank: 3Rank: 3

积分
359
QQ
发表于 2007-5-14 18:51:00 | 显示全部楼层 |阅读模式
究竟怎样使用全局变量呢?在.h中定义后是包含在所有类的.h中还是.cpp中?派生类的.h声明文件在以上哪个文件中包含合适?我定义了一个派生类,把它包含在所有类的.h中,可是编译时出错提示redefination.究竟怎样解决?

5

主题

972

帖子

975

积分

高级会员

Rank: 4

积分
975
发表于 2007-5-14 19:40:00 | 显示全部楼层

Re:关于C++中全局变量的问题

在h中只声明
如extern int global_int;
在cpp中定义
如int global_int = 0;

21

主题

120

帖子

129

积分

注册会员

Rank: 2

积分
129
发表于 2007-5-14 20:14:00 | 显示全部楼层

Re:关于C++中全局变量的问题

所有东西都尽可能放在CPP
H文件里只做前置声明

32

主题

1259

帖子

1351

积分

金牌会员

Rank: 6Rank: 6

积分
1351
发表于 2007-5-14 21:01:00 | 显示全部楼层

Re:关于C++中全局变量的问题

用个Singleton 包装起来。

9

主题

249

帖子

260

积分

中级会员

Rank: 3Rank: 3

积分
260
发表于 2007-5-14 22:51:00 | 显示全部楼层

Re:关于C++中全局变量的问题

定义与声明都应放在.cpp中,
如:
在A.cpp中定义 int x=0;
若要在B.cpp中使用(如:改值了,判断了),则要声明
extern int x;

29

主题

354

帖子

359

积分

中级会员

Rank: 3Rank: 3

积分
359
QQ
 楼主| 发表于 2007-5-17 18:41:00 | 显示全部楼层

Re:关于C++中全局变量的问题

原来变量声明后只要包含一次在主.cpp文件中,再包含在类文件中就会出错.

18

主题

573

帖子

573

积分

高级会员

Rank: 4

积分
573
发表于 2007-5-17 19:14:00 | 显示全部楼层

Re:关于C++中全局变量的问题

在一个地方定义,其他引用的extern。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2026-1-26 10:41

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表