constexpr

constexpr ist ein in C ++ 11 eingeführter Modifikator, der den Compiler darüber informiert, dass der Wert einer Funktion oder Variablen bekannt ist oder zur Kompilierzeit berechnet werden kann. Als solches kann es als eine Konstante an Orten verwendet werden, wo es sonst nicht sein könnte.
1
Antwort

Wie kann eine Variable sowohl constexpr als auch nicht constexpr sein?

Ich habe einen constexpr string Typ gemacht, den ich StaticString nenne. Ich habe diese Idee von this Website. Ich habe einige seltsame Probleme mit dem Compiler, der eine Variable als constexpr in einer Zeile behandelt und dann ni...
28.05.2016, 22:34
1
Antwort

statische const vs consxpr Mitgliederfelder in C ++ 11/14?

Was ist der Unterschied zwischen diesen Membervariablen: %Vor% Wenn mein Verständnis stimmt, kann ich sowohl i als auch j als Kompilierzeitkonstanten verwenden. Das heißt, sowohl std::array<int, my_class::i> als auch std::arr...
29.03.2016, 10:48
1
Antwort

Ist es mißbräuchlich, Parameter der Elternvorlage abzuleiten, wenn der Zeiger auf die Funktion consxpr im Gültigkeitsbereich einer Klasse übergeben wird?

Minimales Beispiel, das ich bekommen habe, ist ein bisschen kompliziert: %Vor% [gcc] kompiliert den Code ohne Probleme, [clang] beschwert sich über die Übereinstimmung von Parent mit Kid problem: %Vor% Um absurder zu werden, we...
17.12.2017, 11:45
3
Antworten

Warum sollte ich den statischen consExpr int in einer Klasse über enum für Integritätskonstanten auf Klassenebene bevorzugen?

C ++ 17 Update: static constexpr Variablen sind implizit inline , daher ist keine externe Definition erforderlich. Ursprüngliche Frage: Nehmen wir an, ich habe eine Liste von Konstanten wie %Vor% Dies schlägt natürlich vor, da...
04.02.2016, 22:42
3
Antworten

__builtin_round ist kein konstanter Ausdruck

In G ++ sind verschiedene eingebaute mathematische Funktionen unter bestimmten Bedingungen consExpr. Zum Beispiel kompiliert das folgende: %Vor% Sie sind nicht immer gleich, aber es kommt auf das Argument an. Zum Beispiel führt __builtin_sq...
03.05.2014, 17:39
1
Antwort

statisch, constexpr, const - was bedeuten sie, wenn alle zusammen verwendet werden?

Ich bin total frustriert mit diesen Spezifizierern, weil ich verstehe, was sie tun, wenn sie alleine sind, aber ich finde sie schwer zu verstehen, wenn sie miteinander benutzt werden. Zum Beispiel, einige Code in der Wildnis enthalten - %Vor%...
24.02.2016, 06:53
1
Antwort

clang 3.5 constexpr Inkonsistenz - Fehler bei Verwendung von double, aber nicht int

Nachdem Sie mithilfe von mathematischen Konstanten für die Erhöhung in constexpr geantwortet haben und vorgeschlagen haben, dass die Boost-Funktion von boost für eine Variable constexpr anstelle von verwendet wird Die non-templated Konstant...
10.02.2014, 23:36
2
Antworten

Was darf ich mit einem statischen, in der Klasse initialisierten consExpr-Datenelement tun?

Dies ist wahrscheinlich eine etwas ungewöhnliche Frage, da es eine ausführlichere Erklärung für eine kurze Antwort auf eine andere Frage und einige Aspekte des C ++ 11 Standards, die damit zusammenhängen. Um die Bezugnahme zu erleichtern, m...
27.01.2013, 13:45
2
Antworten

Gleichwertiger ternärer Operator für constexpr if?

Vielleicht habe ich etwas verpasst, aber ich kann keine Hinweise finden: Gibt es in C ++ einen consExprternären Operator, der conexpr-if entspricht? %Vor%     
07.12.2016, 07:44
1
Antwort

Verwendung von constexpr und const in der Referenzdefinition

Ich habe gesehen, dass eine Referenzvariable in C ++ als Konstante deklariert wurde, auf Quora . %Vor% Also, warum beide constexpr und const in einer einzigen Anweisung verwendet? Was ist der Zweck dieser Art von Aussage?     
21.04.2017, 05:26