System: Ubuntu 20.04, g++ 9.4.0 (c++17)
Traditionell verwenden wir in C #define zusammen mit #ifdef, zum Beispiel:
Code: Select all
#define FOO true
#ifdef FOO
//Do something
#else
//Do something else
#endif
Nach ein wenig Recherche wollen wir sagen, wir wollten den obigen Code im C-Stil replizieren. Anstelle von #define hätten wir so etwas:
Code: Select all
constexpr bool FOO{true};
Es gibt Vorschläge, dass Folgendes zum Überprüfen einer constexpr-Variable verwendet werden kann:
Code: Select all
if constexpr (FOO == true) {
//Do something
}
else {
//Do something else
}
Gibt es eine Möglichkeit, die Präprozessordirektiven #ifdef..#endif zu replizieren, während der Spezifizierer constexpr verwendet wird?
Mobile version