[beantwortet] Standardwert von char?



  • Peinliche Frage, ich weiß. Vielleicht liegts an der Uhrzeit, vielleicht bin ich heute auch wirklich zu blöd, eine Suchmaschine richtig zu bedienen... aber ich finde es nicht heraus.

    Ich habe einen vector<char>, laut meines Lehrbuchs wird der bei Nichtinitialisierung mit dem Standardwert gefüllt. Und der wäre...?
    0?
    ' '?



  • wird bei vector nicht der standard konstruktor aufgerufen mit?

    template<_T>
    vector() 
    {
        element[0] = _T();
    }
    

    so nach dem schema?!?

    und das sollte eigentlich schon 0 sein...



  • Oha, von Konstruktoren bin ich noch sowas von weit entfernt... 🙂



  • Ja, ist 0, wie bei short, int, long, long long, allen unsigned Varianten davon, float, double, long double auch.



  • Danke! Und übrigens frage ich mich gerade, warum ich es nicht einfach ausprobiert habe.

    Dummes ich.



  • Weil Ausprobieren nicht immer reicht, oft stößt man auch auf Verhalten, das nicht garantiert wird.



  • Ich bin gerade etwas verwirrt. Wenn ich einen std::vector<char> anlege, dann hat der doch erstmal keine Elemente drin, von welchem Standardwert reden wir hier?

    MfG SideWinder



  • std::vector<char> meins(100);
    

    ?



  • Fast2_unreg schrieb:

    Weil Ausprobieren nicht immer reicht, oft stößt man auch auf Verhalten, das nicht garantiert wird.

    Das ist schon klar. Aber in diesem Fall wird es ja - jedenfalls laut Stroustrup - garantiert. Also wäre Ausprobieren hier die einfachste Lösung gewesen. 🙂

    SideWinder schrieb:

    Ich bin gerade etwas verwirrt. Wenn ich einen std::vector<char> anlege, dann hat der doch erstmal keine Elemente drin, von welchem Standardwert reden wir hier?

    Siehe Antwort von "keine ahnung" - so war das gemeint.


Log in to reply