我正在制作游戏, 我有一个庞大的const全局变量.h文件列表,许多.cpp文件都依赖于该文件。 (敌人想知道玩家的最大马力等)
然而,当文件中的任何变量发生变化以进行游戏平衡时,这是一个编译噩梦。
我希望防止将文件拆分成多个标题,以方便负责游戏平衡的人。
然而,重新分类是一种痛苦(清晰度与编译时间相比,播放器的最大hp用于许多.cpp但它应该属于PlayerVariables.h,包括它在每个使用它的文件中都会破坏目的将它们分开)。
除了上述方法之外,有没有办法节省一些时间?
答案 0 :(得分:1)
只需在头文件中声明全局变量即可。并在另一个源文件中定义它们。这样,如果任何值被更改,只需要重新编译globals.cpp,因为所有内容都包含来自hpp的全局变量。
在globals.hpp中:
extern const unsigned PLAYER_MAX_HEALTH;
在globals.cpp中:
#include "globals.hpp"
const unsigned PLAYER_MAX_HEALTH = 100;
答案 1 :(得分:1)
您可以尝试使用预处理器添加配置步骤:
#define
仅仅声明外部常量变量并在不同的转换单元中定义和初始化它们的优点是常量传播并具有适当的编译时常量。