Array von Objekten und Zeiger??



  • Hi,
    ich versteh etwas nicht

    wenn ich eine KLasse T habe mit einer Funktion und ich einen Zeiger erzeuge, der auf ein Objekt im Heap zeigt, also
    T *zZeiger = new T;
    und dann das Objekt verändern möchte, dann muss ich schreiben

    zZeiger->Funktion();

    wenn ich aber einen Zeiger erzeuge, der auf ein Array im Heap zeigt, also
    T *zZeiger2 = new T[100];
    und dann den zZeiger[0] verändern möchte mit dieser einen Funktion, kann ich einfach schreiben

    zZeiger2[0].Funktion();

    das versteh ich nicht 😕
    warum einmal -> und ein anderes mal .
    denn
    zZeiger-> ist ja nichts anderes als (*zZeiger).

    ich muss also zZeiger dereferenzieren, bevor ich auf eine Funktion zugreifen kann, doch bei zZeiger2[0] muss ich dies nicht tun, obwohl es ein Zeiger ist und er doch auch nur eine Adresse enthält und dereferenziert werden muss, oder nicht 😕

    Könnt ihr mir weiterhelfen?

    Danke!



  • der operator[] wirkt eben so *(zZeiger+n)


Anmelden zum Antworten