ich so eine einfache Kompilierung Zeitkonstante zum Beispiel verwenden möchten, definieren:Wie ein constexpr Variable
double foo(double x) { return x + kConstDouble; }
Jetzt sehe ich zumindest die folgenden Möglichkeiten, um die konstante
namespace { static constexpr double kConstDouble = 5.0; }
namespace { constexpr double kConstDouble = 5.0; }
static constexpr double kConstDouble = 5.0;
constexpr double kConstDouble = 5.0;
zu definieren, die ist der richtige Weg? Gibt es einen Unterschied, wenn kConstDouble
in einem Header vs. einer Quelldatei definiert ist?
Alle vier sind in Ordnung und Sie könnten auch '#define kConstDouble 5.0' definieren –