Pracuję nad grą i mam ciekawe pytanie. Mam pewne stałe wartości dla całej gry, które chcę zaimplementować w jednym pliku. Teraz mam coś takiego:C++ najlepszy sposób definiowania stałych krzyżowych
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;
A potem tylko pliki #include "constants.hpp" to działa świetnie, dopóki Musiałem użyć jednej ze stałych jako parametru szablonu, ponieważ stałe powiązane zewnętrznie nie są poprawnymi parametrami szablonu. Moje pytanie brzmi: jaki jest najlepszy sposób na wprowadzenie tych stałych? Obawiam się, że umieszczenie stałych w pliku nagłówkowym spowoduje ich zdefiniowanie w każdej jednostce tłumaczeniowej. I nie chcę używać makr.
Dzięki
Podejrzewam błąd kopiowania/wklejania w ostatnim BEGINNING_NAME [] jeden. Czy chcesz napisać to jako BEGINNING_NAME? –
jesteś poprawny, naprawiony. Dzięki. – Tom
Potrzebujesz "statycznego", w przeciwnym razie nie uzyskasz wewnętrznego powiązania lub, bardziej idealnie, odpowiednika "#define" z wartościami wstawionymi. –