对于项目的全局变量,问一下你会怎么处理

C++语言 码拜 7年前 (2015-11-26) 668次浏览
在写一个小游戏,有些配置数据(例如某个怪物的大小,每一关怪物数量),想写死在代码里面,都放在一个头文件中。本人在config.h中定义如下:
static const int MON_SIZE = 10;
map<int, int> LEVEL_MON_NUM;
static void initConfig(){
LEVEL_MON_NUM[1] = 5;
LEVEL_MON_NUM[2] = 6;
LEVEL_MON_NUM[3] = 7;
}
多个文件包含config.h时会报错,貌似是map的问题。需要用到全局不变的map,需要怎么解决呢?求高手指点
解决方案:15分
在 .h 里声明(extern),另写一个 cpp 定义(并初始化)。
解决方案:15分
static全局变量只在当前文件有效
另外,假如要多次包含一个头文件,把头文件中用下面宏包起来,这样不会多次展开
#ifndef xxxxxxxxxxxxxxxxxx
#define xxxxxxxxxxxxxxxxxx
//头文件内容
#endif

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明对于项目的全局变量,问一下你会怎么处理
喜欢 (0)
[1034331897@qq.com]
分享 (0)