ich Konstanten setzen wie:Wohin mit C++ Konstanten? In einer getrennten/freigegebenen Kopfzeile (main.h)?
const QString DATETIME_FORMAT {"yyyy-MM-dd hh:mm:ss.zzz"};
in einer separaten Datei, main.h
. Eigentlich habe ich es auf einem Namespace wie:
namespace projectx {
const QString DATETIME_FORMAT {"yyyy-MM-dd hh:mm:ss.zzz"};
}
Und dann, wenn ich DATETIME_FORMAT
verwenden möchten Ich muss:
#include "../../main.h"
using namespace projectx;
Je nachdem, wo die Datei main.h
mit befindet sich der Pfad ../../main.h
ändern. Das ist ein bisschen nervig.
Ist dieser Ansatz standart? Was ist die Alternative?
Legen Sie sie wo immer sie benötigt werden. Setzen Sie sie nicht dort aus, wo sie nicht sind. – DeiDei
"const" -Objekte im Namespace-Bereich sind standardmäßig "statisch", sodass ein separates Objekt in jede TU eingefügt wird, die den Header enthält (der dann vom Linker in ein einzelnes Objekt optimiert werden kann). **_Nicht ideal. – ildjarn
Was bedeutet TU? – KcFnMi