was ist das ?
-
Hi,
habe gerad in nem tut herumgeblätter und da ist mir was
aufegfallen was ich noch nicht gesehen habedouble operator[] (int index)
{
blabla blabla
};Mir gehts um die [] nach operator ?
Was genau hat das da zu suchen ?
-
Das bedeutet, dass du auf das Objekt mit dem []-Operator zugreifen kannst.
zB:
class Test { public: int& operator[] (int index) { return m_Array[index]; } private: int m_Array[100]; }; int main() { Test test; test[10] = 5; // Anwendung des []-Operaotors cout >> test[10]; return 0; }
-
Achso,
habs mal ohen probiert, ging abe rnicht
Wenn ich das & weglasse kann ich keine Werte zuweisen
sondern nur auslesen
also test[1]=5 geht nur wenn ich int& habe.
Warum ?
Von was ist int& die Referenz?
-
Ja, das ist ne Referenz, sozusagen ein Zeiger ohne Adressoperaotr, deswegen kannst du damit auch verändern.
-
Warum ?
weil du sonst eine kopie des wertes zurückgibst, die du änderst
Von was ist int& die Referenz?
von der entsprechenden m_Array[index] variable (wovon sonst?)
btw.
lass mich raten, du hast kein C++ Buch gelesen (oder nur sehr alte oder schlechte) und nur so merkwürdige Tutorials im Internetdu solltest vielleicht mal folgende Tutorials/eBooks dir angucken
http://www.schornboeck.net/ckurs/index.htm
http://www.mindview.net/Books/TICPP/ThinkingInCPP2e.html
http://www.volkard.de/vcppkold/inhalt.html (ist aber nicht ISO konform!)
-
Doch doch,
habe ein C++ Buch.
Eigentlich ein gutes.
C++ Eine Einführung
Von Ulrich Breymann. Vieles ist sehr gut
erklärt, manchmal zu gut das es für Anfänger
zum Teil schwer zu verstehen ist.
Aber sonst top.
Danke erstmal für die Hilfe