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

C ++ 14: Initialisierung von consExpr-Variablen aus Parameterwerten

Angenommen, ich habe eine Klasse, die über eine constexpr -Funktion einen konstanten Ausdruck zurückgeben kann: %Vor% Wenn ich constexpr Werte von Foo::Bar() initialisieren wollte, wie sollte ich einen Parameter vom Typ Foo übergebe...
30.07.2015, 03:35
2
Antworten

Wie kann das Ergebnis einer Kompilierzeitberechnung in C ++ gedruckt werden?

Ich habe mehrere constexpr-Funktionen geschrieben und verwende sie in static_asserts, um einige Ressourcenlimits zu steuern. Aber ich möchte nicht nur das Kompilierungszeitprädikat erzwingen, sondern auch die tatsächlichen Werte sehen, die währe...
04.03.2015, 10:51
2
Antworten

constexpr mit std :: array - "Nicht typisiertes Template-Argument ist kein konstanter Ausdruck" [duplizieren]

Ich versuche Folgendes zu implementieren: %Vor% Aber ich kann es wegen des Fehlers nicht zum Laufen bringen: Nicht typisiertes Vorlagenargument ist kein konstanter Ausdruck Ich verwende Xcode 5.0. Irgendwelche Ideen?     
17.09.2013, 10:43
2
Antworten

Was ist der abgeleitete Typ eines Constexpr?

%Vor% Die Ausgabe ist: %Vor% Worin wird genau eine constexpr-Variable behandelt? Die Überladung für foo ergibt const int& . Bearbeiten: Weitergehen mit constexpr als const T& abgeleitet; Warum kann ein consExpr im Kla...
21.10.2016, 12:22
1
Antwort

SFINAE consxpr mit std :: get

Dies ist eine Follow-up-Frage zu constexpr mit SFINAE ermitteln . Ich möchte herausfinden, ob ein Element eines Tupels (oder irgendetwas, das mit std::get verwendet werden kann) constexpr ist. Also habe ich die folgenden Helfer ähnlich wi...
26.08.2016, 10:09
2
Antworten

constexpr Array zurückgeben, gcc Warnung

Ich habe eine constexpr-Funktion geschrieben, die ein Array zurückgibt. %Vor% g ++ 4.8 kompiliert den Code korrekt, gibt jedoch die folgende Warnung aus: %Vor% Ist die Warnung in diesem Fall korrekt? Ist es inkorrekt, ein Array aus einer...
31.08.2014, 19:56
1
Antwort

Deklaration von constexpr-Funktionen oder -Methoden

Ich habe mich gefragt, ob es Einschränkungen gab, wo constexpr-Funktionen und -Methoden deklariert werden müssen, wie es für Inline-Funktionen und -Methoden der Fall ist. Ich weiß, dass Inline-Funktionen oder Methoden in Header-Dateien geschr...
10.06.2014, 23:24
1
Antwort

Erzwingt das Auswerten eines konstanten Ausdrucks während der Kompilierzeit?

Vor ein paar Tagen habe ich gefragt, nach welchen Kriterien der Compiler entscheidet, ob während der Kompilierzeit eine constexpr-Funktion berechnet wird oder nicht. Wann wird eine constexpr-Funktion beim Kompilieren ausgewertet? Zeit? W...
12.01.2013, 14:29
1
Antwort

Wann benötigt ein Mitglied der statischen consExpr-Klasse eine Definition, die außerhalb der Klasse liegt?

Ich habe den folgenden C ++ 11 Code (vereinfachte Version): %Vor% GCC 4.9.1 kompiliert und verknüpft diesen Code in Ordnung. Clang 3.5.0 dagegen klagt über eine undefinierte Referenz: %Vor% Was ist richtig? Ist dieser Code legal oder nic...
27.09.2014, 18:16
1
Antwort

static_assert erkennt einen Template-Parameter const char * nicht als constexpr: g ++ bug?

Beachten Sie die folgenden Definitionen. %Vor% Der vollständige Fehler ist    ../ main.cpp: 16: 3: Fehler: nicht konstante Bedingung für statische Assertion       ../ main.cpp: 16: 3: error: '(((const char *) (& amp; Test :: falscher_str...
01.05.2012, 23:39