Für ein wenig Aufklärung dankbar wäre (Referenzen,Zeiger, und sowas halt)
-
Howdy @ all...
ich bin ein wenig confused über die Möglichkeiten der Referenzierung mittels "*" oder "&" Operators.
Mit "&" gebe ich eine Referenz des eigenen Objektes wieder, sprich ich geb die Adresse wo dieses Objekt ist zurück.
Und mit "*" bekomme ich doch ebenfalls einen Zeiger auf ein Objekt wieder, richtig? Bei beiden Möglichkeiten wirken sich Änderungen direkt auf das eine Objekt aus.Wahrscheinlich nicht... hmm, kann mich wer ein wenig aufklären - danke!
Have a nice day.
-
Mit & bestimmst du die Adresse eines Objektes, mit * bestimmst du zu einer gegebenen Adresse das Objekt:
int i; int* p = &i;//p enthält die Adresse von i *p = 4711;//ändert das Objekt, auf das p zeigt - also i
-
Hmm... klingt recht einleuchtend, doch irgendwie happerts bei mir noch was in der Praxis.
QString QListViewItem::text ( int column ) constgibt mir ja eine Kopie als Rückgabewert wieder. Ich würde diese Kopie gern als Referenz an eine andere Methode weitergeben.
Ich würd es jetzt so verstehen, dass ich es z.B. so anstellen würde:
Qstring tmp = QListViewItem::text (0); // Rückgabewert Kopie eines QString. myFunction(&tmp); //myFunction deklaration void myFunction(Qstring* string);Soweit würd ich das ja verstehen. Doch wie darf ich dann folgendes deuten:
void doSomething(const QString& login);
-
les dir mal den abschnitt über referenzen
http://tutorial.schornboeck.net/referenzen.htm
und danach den über zeiger
http://tutorial.schornboeck.net/zeiger.htmdurch.
gruß
-
Und es gibt sogar einen Artikel über Zeiger und ein wenig Referenzen in unserem Forum:
http://www.c-plusplus.net/forum/viewtopic-var-t-is-124532.htmlGrüssli ^^
-
Many thx!
Werd mir das mal morgen genauer anschau'n - jetzt ist erstmal WOCHENENDE !
