C++ beste Weg, um zu definieren, cross-file-Konstanten

Ich arbeite an einem Spiel und habe eine interessante Frage. Ich habe einige Spiel-Breite Konstanten Werten, die ich umsetzen will, in eine Datei. Jetzt habe ich so etwas wie dieses:

constants.cpp

extern const int BEGINNING_HEALTH = 10;
extern const int BEGINNING_MANA = 5;

Konstanten.hpp

extern const int BEGINNING_HEALTH;
extern const int BEGINNING_MANA;

Und dann werden die Dateien nur #include "constants.hpp"
Das war großartig, bis ich brauchte, um eine der Konstanten, die als template-parameter, da der extern-verlinkten Konstanten sind nicht gültig template-Parameter.
Meine Frage ist also, was ist der beste Weg zur Umsetzung dieser Konstanten? Ich fürchte, dass das einfach, indem ich die Konstanten in einer header-Datei wird dazu führen, dass Sie definiert werden, in jeder übersetzungseinheit. Und ich will keine Makros verwenden.

Dank

InformationsquelleAutor rlbond | 2009-03-13

Schreibe einen Kommentar