Suchergebnisse für Anfrage "language-lawyer"

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

Kann sizeof, das zweimal geschachtelt wurde, jemals ein abhängiger Ausdruck sein?

Ich habe festgestellt, dass gcc 5.0 den folgenden Code ablehnt, während clang 3.6 ihn akzeptiert. template<int n> struct I { typedef int Type; }; template<typename T> struct A { typedef I<sizeof(sizeof(T))>::Type Type; }; Die beiden Compiler ...

8 die antwort

Definiert DoS Standard eine Nullzeiger-Konstante, um alle Bits auf Null zu setzen?

(Ich zitiere ISO / IEC 9899: 201x) Hier sehen wir, dass der ganzzahlige konstante Ausdruck einen ganzzahligen Typ hat: 6.6 Konstante Ausdrücke 6.Ein ganzzahliger konstanter Ausdruck muss den ganzzahligen Typ @ habe und dürfen nur Operanden ...

TOP-Veröffentlichungen

2 die antwort

Ist es eine konforme Compilererweiterung, nicht-constexpr-Standardbibliotheksfunktionen als constexpr zu behandeln?

gcc kompiliert den folgenden Code ohne Warnung: #include <cmath> struct foo { static constexpr double a = std::cos(3.); static constexpr double c = std::exp(3.); static constexpr double d = std::log(3.); static constexpr double e1 = ...

14 die antwort

Warum wurde das Leerzeichen nicht für C ++ 14-stellige Trennzeichen ausgewählt?

b C ++ 14 dank n3781 [http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2013/n3781.pdf] (was an sich diese Frage nicht beantwortet) Wir können Code wie den folgenden schreiben: const int x = 1'234; // one thousand two hundred and thirty four ...

4 die antwort

C ++ 11: Warum kann auf private Member-Vorlagen außerhalb der Klasse zugegriffen werden?

Ich habe zufällig festgestellt, dass auf eine verschachtelte private Vorlagenklasse direkt außerhalb der einschließenden Klasse mit einem @ zugegriffen werden kanusing Direktive: class wrapper { private: template <typename T> class __tklass {}; ...

6 die antwort

Aliasing Arrays durch structs

Ich lese Absatz 7 von 6.5 in ISO / IEC 9899: TC2. Es erlaubt den lwertigen Zugriff auf ein Objekt durch: ein Aggregat- oder Vereinigungstyp, der einen der oben genannten Typen unter seinen Mitgliedern enthält (einschließlich rekursiv eines ...

6 die antwort

Was bedeutet dieses Stück Standardese über shared_ptrs use_count ()?

Während ich versuche, mich um das in @ gezeigte Problem zu kümmediese Frag [https://stackoverflow.com/questions/28111666/why-is-stdweak-ptrexpired-optimized-away?noredirect=1#comment44599229_28111666] Ich befand mich im folgenden Satz aus ...

6 die antwort

Bitwise-Operatoren und signierte Typen

Ich lese C ++ Primer und bin ein wenig verwirrt von ein paar Kommentaren darüber, wie Bitwise-Operatoren mit signierten Typen umgehen. Ich zitiere: Quote # 1 (Wenn es sich um bitweise Operatoren handelt) "Wenn der Operand signiert ist und ...

2 die antwort

Warum wird die Template-ID in "A <0> = 0" aufgrund des Operators "> =" nicht ohne Leerzeichen kompiliert?

template <int> using A = int; void f(A<0>=0); // Attempting to declare a function f taking int, // with the default argument 0 // Works as expected: // void f(A<0> = 0);Dies kompiliert auch nicht aufGCC 4.9.2 noch Clang ...