Unterschied int a = 0 und int a = {0} ???
-
Hey Leute,
was genau bedeutet der Ausdruck int a = {0}, wann verwendet man ihn und was ist der Unterschied zu int a = 0 ?
Vielen Dank und liebe Grüße
-
Hallo,
in deinem Beispiel (int) macht das überhaupt keinen Unterschied. Erst hier:
A a = x; B b = {x};
Für A wird (ggf. nach Konvertierung) der Copy-Ctor aufgerufen.
Für B wird ggf. der initinalizer_list-Ctor aufgerufen, sonst Copy-Ctor (stets ohne Konvertierung).(Kann gerne nochmnal jemand kontrollieren; hab kein Buch hier und ich finde es warum auch immer schwer sich zu merken).
Edit:
Ein Unterschied in deinem (erweiterten) Beispiel gibts doch:int a = 1.23; // ok int a = {1.23}; // error
-
C.plusplus schrieb:
wann verwendet man ihn
Je nach Religionszugehörigkeit immer oder nie.
siehe auch https://isocpp.org/wiki/faq/cpp11-language#uniform-init