Suchergebnisse für Anfrage "list-initialization"

3 die antwort

Warum ist die Listeninitialisierung (mit geschweiften Klammern) besser als die Alternativen?

2 die antwort

Lebensdauer eines Rückgabewerts von std :: initializer_list

Die Implementierung von GCC zerstört a

2 die antwort

Ruft die Initialisierung der Kopierliste die Kopierfunktion konzeptionell auf?

Vor C ++ 11 können wir eine Kopierinitialisierung durchführen, indem wir so etwas wie @ schreibeA a = 1; das ist mehr oder weniger äquivalent zuA a = A(1);. Das heißt, zuerst wird eine temporäre Datei erstellt und dann eine Kopie von ctor ...

TOP-Veröffentlichungen

4 die antwort

Wie kann ich ein std :: -Array von std :: -Paaren in Klammern setzen?

std::array<std::pair<int, int>, 2> ids = { { 0, 1 }, { 1, 2 } }; VS2013 Fehler: Fehler C2440: 'Initialisierung': Konvertierung von 'int' nach 'std :: pair' nicht möglich. Kein Konstruktor konnte den Quelltyp annehmen, oder die Auflösung der ...

3 die antwort

Skalare mit geschweiften Klammern initialisieren

In C und C ++ kann man Arrays und Strukturen mit geschweiften Klammern initialisieren:

6 die antwort

Gelöschter Standardkonstruktor. Objekte können immer noch erstellt werden ... manchmal

ie naive, optimistische und ach so falsche Sicht auf die c ++ 11 einheitliche InitialisierungssyntIch dachte, dass seit C ++ 11 benutzerdefinierte Typobjekte mit dem neuen @ erstellt werden sollt{...} Syntax anstelle des alten(...) Syntax (außer ...

2 die antwort

List-Initialisierung und fehlgeschlagene Überladungsauflösung des Konstruktors initializer_list

Das Folgende kann nicht mit @ kompiliert werdclang35 -std=c++11: #include <iostream> #include <string> #include <initializer_list> class A { public: A(int, bool) { std::cout << __PRETTY_FUNCTION__ << std::endl; } A(int, double) { std::cout << ...

2 die antwort

Priorität der Listeninitialisierung von Objekt des gleichen Typs

#include <iostream> #include <initializer_list> using namespace std; struct CL { CL(){} CL (std::initializer_list<CL>){cout<<1;} CL (const CL&){cout<<2;} }; int main() { CL cl1; CL cl2 {cl1}; //prints 21 }Hier ist CL struct mit Copy-Konstruktor ...

4 die antwort

MSVC Klammerinitialisierung mit Doppelten scheint den Standard zu verletzen?

Überprüfen Sie dieses einfache Programm: int main() { float f2 = 7.2; // OK, with warning float f3 = 7.199999809265137; // OK, no warning float f4{ 7.2 }; // Fails float f5{ 7.199999809265137 }; // OK, no warning float f6 = { 7.2 }; // Fails ...

2 die antwort

Klammerelision bei der Initialisierung von std :: array

Angenommen, es gibt eine