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.
2
Antworten

Eindeutige Adresse für die Variable constexpr

Ist es möglich, eine eindeutige Adresse für eine consExpr-Variable zuzuordnen, d. h. für alle Übersetzungseinheiten, in denen die Variable verfügbar ist (normalerweise über einen Header)? Betrachten Sie das folgende Beispiel: %Vor% Kompilier...
14.02.2013, 10:04
2
Antworten

Weisen Sie der Laufzeitvariablen das statische Member consExpr class zu

Ich weiß, dass es viele ähnliche Fragen gibt, aber irgendwie andere Fragen. Es handelt sich um folgende Situation: %Vor% So weit ich verstehe constexpr steht für Kompilierzeitkonstanten. So kann der Compiler bereits eine Berechnung durchf...
10.03.2016, 21:41
4
Antworten

Ist es möglich zu wissen, wann ist Constexpr wirklich ein Constexpr?

Seit den erweiterten Versionen von constexpr (glaube ich ab C ++ 14) können Sie constexpr-Funktionen deklarieren, die als "echter" constexpr verwendet werden könnten, dh der Code wird zur Kompilierzeit ausgeführt oder kann sich als Inline-Funkti...
24.10.2017, 20:37
1
Antwort

Statische consxpr-Elemente des gleichen Typs wie die Klasse definiert (zusätzliche Details)

Beim Schreiben meiner ersten Frage, wenn das überhaupt möglich ist, stolperte ich über die Frage statisches consxpr-Mitglied des gleichen Typs wie die Klasse, die definiert wird , die ganz klar geantwortet hat, dass meine saubere Lösung mit C +...
20.05.2015, 22:50
2
Antworten

undefinierter Verweis beim Zugriff auf das statische consExpr Float-Element

Dieser Code funktioniert: %Vor% Aber wenn ich int in float ändere, bekomme ich einen Fehler: %Vor%    /tmp/main-272d80.o: In der Funktion main': main.cpp:(.text+0xe): undefined reference to Blob :: a ' Warum kann ich nicht...
01.02.2015, 15:20
2
Antworten

conexpr vs Vorlage für die Kompilierzeit mathematische Funktionen?

Ich bin ziemlich verwirrt mit dem neuen Keyword constexpr von C ++ 2011. Ich würde gerne wissen, wo constexpr und wo Templates Metaprogrammierung verwenden, wenn ich kompilieren-Zeitfunktionen (vor allem mathematische Funktionen). Zum Beispiel,...
02.09.2012, 04:26
1
Antwort

Warum ist constexpr mit std :: string in gcc erlaubt?

Warum darf die Vorlagenversion in gcc kompiliert werden? Ist es ein Compilerfehler oder ist er tatsächlich gültig, wenn er mit Vorlagen verwendet wird? Kann mir das bitte jemand erklären? Es kompiliert nicht auf clang oder anderen Compilern,...
21.03.2017, 11:41
1
Antwort

Ist diese conexpr-Ganzzahl keine Null-Zeigerkonstante?

Betrachten Sie das folgende C ++ 11-Programm und sein Ergebnis in GCC 4.7.2: %Vor% Gemäß dem Standard:    [C++11: 4.10/1]: A Nullzeigerkonstante ist ein ganzzahliger konstanter Ausdruck (5.19) prvalue des Integer-Typs, der zu Null [....
21.11.2012, 12:31
1
Antwort

statischer consxpr Zeiger-zur-Funktion, Unterschied zwischen Compilern

Bei der Beantwortung dieser Frage habe ich den folgenden Code mit gcc ( Code kompiliert ) und klingeln ( Code abgelehnt ) ): %Vor% Ich bin mir nicht sicher, welcher Compiler richtig ist, obwohl ich denke, dass die constexpr-Initialisierung...
07.04.2013, 20:24
1
Antwort

Erweitern eines consExpr-Arrays in eine Gruppe von nicht typisierten Vorlagenparametern

Angenommen, ich habe ein constexpr-Array zur Kompilierungszeit und eine variadische Klassenvorlage mit einer Reihe von Nicht-Typ-Parametern des gleichen Typs wie die Elemente des Arrays. Mein Ziel ist es, die Klassenvorlage mit den Werten aus...
13.11.2017, 11:45