Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!
Werbeanzeige
idontknow
unregistriert
Außerdem soll das ganze die Möglichkeit bereit stellen auch "normal" Werte also keine Referenzen zu verwenden.
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »dot« (26.06.2010, 00:14)
Da M eine Referenz auf P ist, ist M ständig aktuell. Wenn du etwas an P änderst, erfährt M das auch. Erst wenn M nicht mehr auf P sondern auf Q zeigen soll, helfen dir Referenzen nicht mehr weiter.Sprich: Ich will nen Parameter P übergeben, die Membervariable M wird daraufhon zu einer Referenz auf P und wenn ich P verändere bzw die Variable die für P übergeben wurde soll sich M auch ändern da das ja eine Referenz auf P sein soll.
Warum du das Objekt bei Zeigern mit new erzeugen musst, aber die Referenz auf ein bestehendes Objekt verweisen lassen kannst, leuchtet mir nicht ein. In vielen Fällen, wo man mit Referenzen arbeitet, kann man auch Zeiger nehmen.Eine alternative Mölichkeit wären Pointer aber wenn ich z.b. einen int Speichere und keine "Referenz" sondern das direkte Objekt haben will, müsste ich den mit new erzeugen (wegen dem Pointer) und ich bin mir nicht sicher ob das eine so schöne Lößung ist!!
Community-Fossil
C-/C++-Quelltext |
|
1 2 |
int foo = 0; int *bar = &foo; |
idontknow
unregistriert
C-/C++-Quelltext |
|
1 2 3 4 5 6 7 |
class foo { int *bar; public: void setRef(int *i) {bar = i;} void set(int i){if(!bar) bar = new int; *bar = i;} }; |
Community-Fossil
idontknow
unregistriert
Werbeanzeige