c++ zeiger?
-
Hallo erstmal,
meine C#-Erfahrungen beschränken sich auf das Zusammenklicken einer einfachen WindowsForm-Anwendung. Ich bin also C#-Anfänger.
Zu meinem Problem:
Ich habe einige Objekte, zu denen ich, in C++, Zeiger in einem std::vector<meinObjekt> speichere. Die Objekte verändern sich nach dem Erstellen nicht mehr. Weiterhin habe ich teilweise sehr viele Objekte anderer Art, die alle jeweils einen Zeiger aus dem vector bekommen sollen. Dabei wäre es eine Verschwendung, jweils ein ganzes Objekt anstelle eines Zeigers zu speichern...
Wie mache ich das in C#, Zeiger sollen hier wohl eher tabu sein, zumindest habe ich sowas im Netz gelesen...
Danke schonmal im Voraus! :xmas2:
-
Suchst du die generische Liste?
http://msdn.microsoft.com/en-us/library/6sh2ey19.aspx
:xmas1:
-
Ja und nein
Ja, weil: die habe ich schon gefunden, es wäre quasi der C#-std::vector.
Nein, weil: Ich habe in meiner Liste Objekte gepspeichert. Jetzt will ich an andere Objekte Zeiger auf die Objekte aus der Liste vergeben. Benutzt man dafür Zeiger in C# oder macht man das anders? Das ist eigentlich meine Frage
..ich meine, man muss ja nicht für jedes Objekt eine Kopie erstellen, richtig?
-
Wenn deine Objekte Referenztypen sind werden sie nicht kopiert sondern eben nur referenziert. Also einfach als Member etc dranhängen und gut ist.
-
Versteh ich das richtig http://msdn.microsoft.com/de-de/library/490f96s2.aspx? Die Objekte meiner Klasse sind also auch Referenztypen? Das wäre dann ja kein Problem...
-
Ja.
-
Vielen Dank euch allen! :xmas1: