list-initialization
Dlaczego inicjalizacja listy (przy użyciu nawiasów klamrowych) jest lepsza od alternatyw?
MyClass a1 {a}; // clearer and less error-prone than the other three
MyClass a2 = {a};
MyClass a3 = a;
MyClass a4(a);
Dlaczego?
Nie mogłem znaleźć odpowiedzi na SO, więc pozwól mi odpowiedzieć na własne pytanie.
Usunięty konstruktor domyślny. Obiekty nadal mogą być tworzone ... czasami
Naiwni, optymistyczni i oh.. tak więc błędny widok jednolitej składni inicjalizacji c++11
Myślałem, że od C++11 obiektów ty ... ROR: use of deleted function `foo::foo()`
/* Fb */ foo f{3}; // ERROR: no matching function to call `foo::foo(init list)`
Dlaczego standard różni się między direct-list-initialization i copy-list-initialization?
Wiemy, że {[1] } nazywa się bezpośrednią inicjalizacją, podczas gdy {[2] } nazywa się copy-initialization , co oznacza, że ... cze raz:
Jaki jest pożytek z dzielenia listy-inicjalizacji na jej dwie formy, jeśli (najwyraźniej) robią dokładnie to samo?