Sto lavorando a un gioco e ho una domanda interessante. Ho alcuni valori costanti per il gioco che voglio implementare in un file. In questo momento ho qualcosa di simile:C++, il modo migliore per definire le costanti del file incrociato
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;
E poi i file proprio #include "constants.hpp" Questo è stato funzionare grande, fino a quando Avevo bisogno di usare una delle costanti come parametro template, perché le costanti collegate esternamente non sono parametri di template validi. Quindi la mia domanda è: qual è il modo migliore per implementare queste costanti? Temo che il semplice inserimento delle costanti in un file di intestazione causerà la loro definizione in ciascuna unità di traduzione. E non voglio usare macro.
Grazie
sospetto di un bug di copia/incolla nell'ultimo BEGINNING_NAME []. vuoi scriverlo come BEGINNING_NAME? –
sei corretto, corretto. Grazie. – Tom
È necessario "statico", altrimenti non si ottiene il collegamento interno o, più idealmente, l'equivalente di un "#define" con i valori inline. –