Was ist ein Constexpr in C++?
Was ist ein Constexpr in C++?

Video: Was ist ein Constexpr in C++?

Video: Was ist ein Constexpr in C++?
Video: C++ für Fortgeschrittene #001 ☆ constexpr 2024, Kann
Anonim

constexpr gibt an, dass der Wert eines Objekts oder einer Funktion zur Kompilierzeit ausgewertet und der Ausdruck in anderen konstanten Ausdrücken verwendet werden kann. Im folgenden Code wird beispielsweise product() zur Kompilierzeit ausgewertet. In C++ 11, a constexpr -Funktion sollte nur eine return-Anweisung enthalten.

Und wofür wird Constexpr verwendet?

Die constexpr specifier deklariert, dass es möglich ist, den Wert der Funktion oder Variablen zur Kompilierzeit auszuwerten. Solche Variablen und Funktionen können dann sein Gebraucht wobei nur Ausdrücke mit Kompilierzeitkonstanten zulässig sind. EIN constexpr Bezeichner benutzt in eine Objektdeklaration impliziert const.

wird Constexpr ausgewertet? 2 Antworten. constexpr Funktionen werden bewertet zur Kompilierzeit, wenn alle seine Argumente konstante Ausdrücke sind und das Ergebnis auch in einem konstanten Ausdruck verwendet wird.

Wann sollte ich Constexpr diesbezüglich verwenden?

constexpr gibt an, dass der Wert oder Rückgabewert konstant ist und, wenn möglich, zur Kompilierzeit berechnet wird. EIN constexpr ganzzahliger Wert kann überall dort verwendet werden, wo ein konstanter Integer erforderlich ist, z. B. in Vorlagenargumenten und Array-Deklarationen.

Sind Constexpr-Funktionen inline?

Sie können mit constexpr-Funktionen viele Berechnungen zur Kompilierzeit. Daher steht das Ergebnis der Berechnung zur Laufzeit als Konstante im ROM zur Verfügung. Zusätzlich, constexpr-Funktionen sind implizit im Einklang . Die Syntax von constexpr-Funktionen wurde mit dem Wechsel von C++11 auf C++14 massiv verbessert.