Suchergebnisse für Anfrage "constexpr"

3 die antwort

Wie kann die Kompilierungszeit (exponentiell) schneller sein als die Laufzeit?

Der folgende Code berechnet Fibonacci-Zahlen durch einexponentiell langsam Algorithmus: #include <cstdlib> #include <iostream> #define DEBUG(var) { std::cout << #var << ": " << (var) << std::endl; } constexpr auto fib(const size_t n) -> long ...

3 die antwort

Wenn und warum sollten Sie static mit constexpr verwenden?

Als Haftungsausschluss habe ich meine Recherche dazu gemacht, bevor ich gefragt habe. Ich fand eine ähnliche SO Frage [https://stackoverflow.com/questions/13865842/does-static-constexpr-variable-make-sense] aber die antwort dort fühlt sich ein ...

2 die antwort

Mit constexpr @ die Cast-Einschränkung neu interpretier

In c ++ 11 einconstexpr expression darf keine Neuinterpretation von Casts enthalten. Wenn man zum Beispiel die Bits in einer Gleitkommazahl manipulieren möchte, sagt man, um die Mantisse der Zahl zu finden: constexpr unsigned int mantissa(float ...

TOP-Veröffentlichungen

2 die antwort

Warum erlauben Templates Constexpr-Funktionsmember mit Nicht-Constexpr-Konstruktoren?

Mit C ++ 14. Warum wird dies kompilieren: template<unsigned N> constexpr bool foo() { std::array<char, N> arr; return true; }aber nicht das? constexpr bool foo() { std::array<char, 10> arr; // Non-constexpr constructor 'array' cannot be used ...

4 die antwort

constexpr Funktionsparameter als Template-Argumente

Ich spiele mit etwas Spielzeugcode mit C ++ 11 herum, um ein bisschen mehr darüber herauszufinden, wie die Dinge funktionieren. Dabei bin ich auf folgendes Problem gestoßen, das sich vereinfacht auf: template <int x, int y> class add { public: ...

6 die antwort

Ist es möglich, std :: string in einem constexpr zu verwenden?

Unter Verwendung von C ++ 11, Ubuntu 14.04, GCC-Standardtoolchain. Dieser Code schlägt fehl: constexpr std::string constString = "constString";error: Der Typ "const string {aka const std :: basic_string}" der constexpr-Variablen "constString" ...

2 die antwort

Constexpr-Objekte umgeben

Ich habe beschlossen, dann neue @ zu gebC++14 Definition vonconstexpr ein Dreh und um das Beste daraus zu machen, habe ich beschlossen, einen kleinen String-Parser zur Kompilierungszeit zu schreiben. Ich habe jedoch Probleme damit, mein Objekt ...

2 die antwort

Warum können nicht statische Datenelemente nicht constexpr sein?

Dies ist ein gültiger Code: struct S { constexpr S(int x, int y): xVal(x), yVal(y) {} constexpr S(int x): xVal(x) {} constexpr S() {} const int xVal { 0 }; const int yVal { 0 }; };Aber hier möchte ich wirklich @ deklarierxVal undyVal ...

2 die antwort

Warum ist `std :: initializer_list` nicht als Literaltyp definiert?

Dies ist ein Follow-up dieser Frage:Ist es legal ein constexpr initializer_list Objekt zu deklarieren? [https://stackoverflow.com/questions/16063123/is-it-legal-to-declare-a-constexpr-initializer-list-object] . eit C ++ 14 ist ...

2 die antwort

Verstehen des Beispiels zur Umwandlung von lWert in rWert

Ich habe Schwierigkeiten zu verstehen, wie dieser Code (ein Beispiel aus dem C ++ 14-Standardentwurf [conv.lval]) ruft undefiniertes Verhalten für @ ag(false). Warum tutconstexpr das Programm gültig machen? Auch was bedeutet "greift nicht auf @ ...