Suchergebnisse für Anfrage "language-lawyer"
C ++ Verwenden eines Verweises auf die zu definierende Variable
Ist der folgende Code gemäß dem Standard (mit Abzinsung der ... s) in C ++ gültig? bool f(T& r) { if(...) { r = ...; return true; } return false; } T x = (f(x) ? x : T());Es ist bekannt, in den von diesem Projekt verwendeten GCC-Versionen ...
Warum kann das Austauschen von Standardbibliothekscontainern in C ++ 11 (unter Einbeziehung von Zuordnern) problematisch sein?
Hinweis:Ursprünglich gefragt ...
Warum in Allocators propagate_on_container_swap == false zulassen, wenn dies undefiniertes Verhalten verursachen kann?
Hinweis:Ursprünglich gefragt vonMatt Mcnabb [https://stackoverflow.com/users/1505939/matt-mcnabb]Als ...
C ++ 14-Wertinitialisierung mit gelöschtem Konstruktor
Ich habe ein Missverständnis: Markieren wir den Standardkonstruktor von Struktur A als gelöscht: struct A { A() = delete; };Die nächste Anweisung ist wohlgeformt und wie wirkt sich das aus ?: A ...
Wird std :: move auf der Initialisierungsliste des Konstruktors für übergebene Heavy-Member wirklich benötigt?
Kürzlich habe ich ein Beispiel aus gelesencppreference ... / vector / emplace_back [http://en.cppreference.com/w/cpp/container/vector/emplace_back]: struct President { std::string name; std::string country; int year; President(std::string ...
Das Verlängern der temporären Lebensdauer durch rvalue data-member funktioniert mit aggregate, aber nicht mit constructor. Warum?
Ich habe das folgende Schema gefunden, um eine temporäre Lebensdauer zu verlängern, ich weiß nicht, ob es sollte, aber es funktioniert. struct S { std::vector<int>&& vec; }; int main() { S s1{std::vector<int>(5)}; // construct with temporary ...
Verlängert die Lebensdauer des Provisoriums und arbeitet mit blockbasierten Aggregaten, jedoch nicht mit "Neu". Warum?
Hinweis: Diese Frage wurde ursprünglich gestellt alsein Kommentar [https://stackoverflow.com/questions/23892018/extending-temporarys-lifetime-through-rvalue-data-member-works-with-aggregate/23965233#comment36922467_23965233] durchRyan Haining ...
Wann wird ADL angewendet?
Es gibt 3 Beispiele: ICH. typedef int foo; namespace B { struct S { operator int(){ return 24; } }; int foo(B::S s){ return 0; } } int main() { int t=foo(B::S()); //24, ADL does not apply }II. namespace B { struct S { operator int(){ return ...
Warum erlaubt ein Template-Template-Parameter nach der Parameterliste keinen 'Typnamen'?
Vorlage Vorlage Typenname?Beim BenutzenVorlage VorlageSyntax wie intemplate <template <typename> class T>muss das Schlüsselwort verwendet werdenclass, als mittypename gibt einen Fehler in folgender Form aus: Fehler: Template Template Parameter ...
Pseudo-Destruktor-Aufruf zerstört kein Objekt
Betrachten Sie den folgenden Code: #include <iostream> typedef int t; t a=42; int main() { a.t::~t(); std::cout << a; //42 }Ich werde das erwarteta wird zerstört werden. Aber es ist nicht wahr, warum? Wie wird dieser Pseudo-Destruktor-Aufruf das ...