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


Log in to reply