operator[] und Pointer eines Objekts!?



  • Habe Klasse XXX mit einem Operator[]:

    nun kann ich ja:

    XXX a;
    ...= a[0];
    

    wenn ich aber nur einen Pointer der klasse XXX habe...

    XXX *a= new XXX();
    
    ...= (*a)[0];
    

    ... muss ich ja erst dereferenzierne das ich den operator[] anwenden kann.

    Gibts da andere möglichkeiten, um den Operator direkt an einem Pointer anwenden zu können?

    Grüße



  • BorisDieKlinge schrieb:

    Gibts da andere möglichkeiten, um den Operator direkt an einem Pointer anwenden zu können?

    Nicht wirklich. Du kannst noch auf die Operator-Syntax verzichten und stattdessen die Funktion beim Namen nennen:

    XXX *a= new XXX();
    a->operator[](0);
    


  • oder dich an die STL idee halten mit einer at(int) funktion 🙂


Anmelden zum Antworten