Suchergebnisse für Anfrage "language-lawyer"

3 die antwort

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

1 die antwort

Warum kann das Austauschen von Standardbibliothekscontainern in C ++ 11 (unter Einbeziehung von Zuordnern) problematisch sein?

Hinweis:Ursprünglich gefragt ...

2 die antwort

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

TOP-Veröffentlichungen

2 die antwort

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

4 die antwort

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

1 die antwort

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

1 die antwort

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

2 die antwort

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

2 die antwort

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

1 die antwort

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