Wann wird constexpr
verwendet und wann wird extern const
verwendet?'Constexpr' vs 'extern const'. Was hat Priorität?
Ich habe eine Situation wie:
in Header (H):
extern const int MAX_NUMBER_OF_ROWS;
in Quelle (CPP):
const int MAX_NUMBER_OF_ROWS= 99;
Die Dateien (Header und Source) enthält genau solche Definitionen und Deklarationen .
Ist es nur die constexpr
in der Header-Datei zu verwenden, unverbindlichen und wird die Quelldatei zu befreien, wie hier in ?:
// this is in the header file. There is no cpp file any more.
constexpr int MAX_NUMBER_OF_ROWS= 99;
Diese sind orthogonal - Sie hätten immer 'const int MAX_NUMBER_OF_ROWS = 99;' im Header verwenden können; und dann wäre die Frage, ob man "const" in "consxpr" umwandeln soll. Es so zu machen, wie Sie es haben, wird normalerweise nur gemacht, wenn der Wert nicht bekannt ist, wenn der Header eingeschlossen ist. –
OK, und wenn es in der Kopfzeile ist, wie Sie gesagt haben, kann es "constexpr" sein, oder? – mtb