Suchergebnisse für Anfrage "constexpr"
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 ...
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* ...
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 ...
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 = ...
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 ...
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 ...
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, ...
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 ...
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 ...
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 ...