我正在制作一个游戏,并有一个有趣的问题。我有一些希望在一个文件中实现的游戏范围常量值。目前我有类似这样的代码:
constants.cpp
extern const int BEGINNING_HEALTH = 10;
extern const int BEGINNING_MANA = 5;
constants.hpp
extern const int BEGINNING_HEALTH;
extern const int BEGINNING_MANA;
然后文件只需#include "constants.hpp"。
这很好用,直到我需要使用一个常量作为模板参数,因为外部链接的常量不是有效的模板参数。所以我的问题是,实现这些常量的最佳方法是什么?我担心简单地将常量放在头文件中将导致它们在每个翻译单位中被定义。而且我不想使用宏。
谢谢