|
Community Links |
Interessengemeinschaften |
Benutzerliste |
Foren durchsuchen |
Stichwortsuche |
Erweiterte Suche |
Uns unterstützen |
Shoppen bei Amazon |
Spende per Patreon |
Spende per PayPal |
Spende per Steady |
alle Möglichkeiten |
Gehe zu... |
![]() |
|
Themen-Optionen
![]() |
Ansicht
![]() |
![]() |
#1 (im Thread / einzeln) |
Gast
Gast
Beiträge: n/a
|
Ein Objekt in 2 Listen
Hi!
(Un-)Sinn: Zum Beispiel wird auf e in Liste e_liste1 schreibend (eg e_liste1.back().name = "Kuh" ![]() Wenn ich e - wie oben im Code - in beide Listen 'pushe' und über eine der Listen das e ändere, dann bleibt das e in der anderen Liste unverändert. Soll aber nicht... ![]() |
![]() ![]() |
![]() |
#5 (im Thread / einzeln) |
Avantgarde Member
Registriert: 2001-04-11
Beiträge: 4.326
|
Re: Ein Objekt in 2 Listen
Das funktioniert so nicht. Wenn du was in eine std::list tust, wird eine Kopie deines Objects darin gespeichert. D.h. du mußt in deinen Listen entweder Zeiger/Referenzen verwalten oder es in beiden Listen ändern.
@Pinoccio: Leider falsch (s.o.). @zweiter Gast: Ja und? Lass das Ding doch auf dem Stack. Und dein Vorschlag würde übrigens auch nicht gehen. Da fehlt der Derefenzierungsoperator. €dit: damit der "kompetente Gast" nicht mehr so viel zu lachen hat ![]() Man, bin ich froh, dass ich C++ los bin ![]() Geändert von Simon (2006-03-22 um 19:29:17 Uhr) |
![]() |
![]() ![]() |
![]() |
#6 (im Thread / einzeln) |
Kompetente Gast
Gast
Beiträge: n/a
|
Re: Ein Objekt in 2 Listen
LOL So viele Leute, und so viel Bullshit... Und de Zeigeroperator ist auch n1
![]() Im Grunde gibts nur Pointer oder Referenzen (hierzu nimmst du z.B. boost::ref / boost::const_ref). Wo der Speicher im Endeffekt alloziert wird musst du selbst entscheiden. Villeicht schaust dir mal das RAII-Idiom an, oder weihst uns in dein Konzept ein. Grüße |
![]() ![]() |
![]() |
Lesezeichen |
Ansicht |
![]() |
![]() |
![]() |
|
|