Suchergebnisse für Anfrage "constexpr"

1 die antwort

Warum kann ich eine Nicht-Constexpr-Funktion innerhalb einer Constexpr-Funktion aufrufen?

Betrachten Sie den folgenden Code: #include <stdio.h> constexpr int f() { return printf("a side effect!\n"); } int main() { char a[f()]; printf("%zd\n", sizeof a); }Ich hätte erwartet, dass der Compiler sich über den Aufruf von beschwertprintf ...

1 die antwort

Unterschied zwischen String-Literal und constexpr-Array von char

Ich habe mich gefragt, ob es einen Unterschied zwischen dem gibt, worauf hingewiesen wirdptrToArray undptrToLiteral im folgenden Beispiel: constexpr char constExprArray[] = "hello"; const char* ptrToArray = constExprArray; const char* ...

6 die antwort

enum vs constexpr für tatsächliche statische Konstanten innerhalb von Klassen

Lassen Sie mich mit meiner Absicht beginnen. In den alten (C ++) Tagen hätten wir Code wie: class C { public: enum {SOME_VALUE=27}; };Dann könnten wir verwendenSOME_VALUE in unserem Code als Kompilierzeitkonstante und überall dort, wo der ...

TOP-Veröffentlichungen

3 die antwort

Wird ein constexpr-Array zwangsläufig verwendet, wenn es mit einem Index versehen ist?

Mit folgendem Code: struct A { static constexpr int a[3] = {1,2,3}; }; int main () { int a = A::a[0]; int b [A::a[1]]; }istA::a Notwendigodr-used [https://stackoverflow.com/questions/19630570/what-does-it-mean-to-odr-use-something] imint a = ...

3 die antwort

Globale Konstanten in C ++ 11

Was sind die besten Möglichkeiten, globale Konstanten in C ++ zu deklarieren und zu definieren? Ich interessiere mich hauptsächlich für den C ++ 11-Standard, da er in dieser Hinsicht viele Fehler behebt. [EDIT (Klarstellung)]: In dieser Frage ...

4 die antwort

Ist constexpr ein "Hinweis" (wie Inline) oder eine "verbindliche Anfrage" an den Compiler?

Istconstexpr Ein Indikator für den Compiler oder ein Verhalten? Das vorliegende Beispiel ist das folgende: template<typename T> std::size_t constexpr getID() { return typeid(T).hash_code(); }hash_code ist eine Laufzeitkonstante, dennoch ...

2 die antwort

constexpr und RTTI

Ich würde gerne so etwas machen: template <typename T> constexpr ::std::size_t type_name_hash() { return ::std::hash<::std::string>()(typeid(T).name()); }Jetzt weiß ich es auch nichthash Nochstring sindconstexpr, aber das könnte man umgehen, ...

2 die antwort

Erzwinge die Auswertung von constexpr zur Kompilierungszeit

#include <algorithm> struct S { static constexpr int X = 10; }; int main() { return std::min(S::X, 0); };Wennstd::min erwartet aconst int&würde der Compiler sehr wahrscheinlich gerne die habenS::X auch irgendwo definiert, d. h. die Lagerung ...

2 die antwort

constexpr und initialisierung eines statischen const void zeigers mit reinterpret cast, welcher compiler ist richtig?

Betrachten Sie den folgenden Code: struct foo { static constexpr const void* ptr = reinterpret_cast<const void*>(0x1); }; auto main() -> int { return 0; }Das obige Beispiel kompiliert einwandfrei in g ++ v4.9 ...

1 die antwort

constexpr depth limit mit clang (fconstexpr-depth scheint nicht zu funktionieren)

Gibt es überhaupt eine Möglichkeit, die Instanziierungstiefe von constexpr zu konfigurieren? Ich starte mit -fconstexpr-depth = 4096 (mit clang / XCode). Kompilieren Sie diesen Code dennoch nicht mit Fehler: Die Constexpr-Variable fib_1 muss mit ...