initialisieren



  • Ich habe eine Frage und zwar habe ich schon desöfteren folgende Anweisung gesehen.

    int arr[20] = {0};

    Ist es richtig, dass mit dieser Anweisung das gesamte Array mit 0 initialisiert wird. Wenn Ja kann ich damit auch structs initialisieren?



  • Sitt0028 schrieb:

    Ist es richtig, dass mit dieser Anweisung das gesamte Array mit 0 initialisiert wird.

    Ja.

    Sitt0028 schrieb:

    Wenn Ja kann ich damit auch structs initialisieren?

    Ja.


  • Mod

    Gugelmoser schrieb:

    Sitt0028 schrieb:

    Wenn Ja kann ich damit auch structs initialisieren?

    Ja.

    Nein! Nur Aggregattypen, d.h.

    C++ Standard (C++98!) schrieb:

    An aggregate is an array or a class (clause 9) with no user-declared constructors (12.1), no private or protected non-static
    data members (clause 11), no base classes (clause 10), and no virtual functions (10.3).

    In C++11 sind die Regeln leicht anders, aber nicht wesentlich.

    Die Frage klingt auch ein wenig danach, als ob hier jemand zu viel C gelernt hat. Zwischen struct und class besteht schließlich kein großer Unterschied.


Anmelden zum Antworten