Welche Ausgabe erwartet ihr?
-
volkard schrieb:
Skym0sh0 schrieb:
Ja? Uniform Initialization ist dafür da, dass alle Initialisierungen gleich aussehen.
Da hab ich es einfacher. Bei mir sind sie dazu da, Container initial zu befüllen.
Da du mich ja eh immer berichtigst, dann mach es wenigstens auch hier.
Hab ich Uniform Initialization falsch verstanden, oder wie?Oder ists wieder einer deiner Trollposts und du meinst eigentlich Initializer Lists?
-
volkard schrieb:
Skym0sh0 schrieb:
Ja? Uniform Initialization ist dafür da, dass alle Initialisierungen gleich aussehen.
Da hab ich es einfacher. Bei mir sind sie dazu da, Container initial zu befüllen.
So handhabe ich das auch.

-
Volkard meint, er verwendet etwas, was wie ein Konstruktoraufruf aussieht
std::vector< int > foo( 2, 0 );wenn er klarstellen will, daß kein Konstruktor aufgerufen wird, der eine
initializer-listnimmt.Er würde also nie-nicht etwas schreiben wie
for( unsigned i{}; i < MAX; ++i );.

-
Bei mir sind sie dazu da, Container initial zu befüllen.
Und was ist mit Aggregat-Initialisierungen?
-
Swordfish schrieb:
Er würde also nie-nicht etwas schreiben wie
for( unsigned i{}; i < MAX; ++i );.

Genau!
Überlegen muss ich mir noch
auto main(void) -> int { … return {}; }
-
Arcoth schrieb:
Bei mir sind sie dazu da, Container initial zu befüllen.
Und was ist mit Aggregat-Initialisierungen?
Ja, es gibt Ausnahmen.
Nach Möglichkeit wünsche ich mir für structs auch normale Konstruktoren.
Ich nenne mal
static YesType Check(SizeToType<sizeof(U{})>*);
-
volkard schrieb:
Überlegen muss ich mir noch
auto main() -> int { … return {}; }Och, das ist doch ganz einfach:
#include <cstdlib> auto main() -> decltype( EXIT_SUCCESS ) { return decltype( EXIT_SUCCESS )(); }