[]
,
eine für konstante und eine für variable Strings:
char& operator[] (unsigned);
// für Variablen
const char operator [] (unsigned) const; // für
Konstanten
Der entscheidende Unterschied besteht darin, daß nun eine Konstante
zurückgeliefert wird, die natürlich nicht verändert werden
kann, d.h. nicht nur der Zeiger bleibt konstant, sondern auch der Wert,
auf den gezeigt wird.
Der Programmierer sollte sich dieser Probleme bewußt
sein und durch Überladen der Operatoren dafür Sorge tragen, daß
konstante Objekte auch wirklich konstant bleiben.