Ich habe class A
mit einem public std::list<int> object list_
. Class B
, mit einem Zeiger auf Klasse A a
.Referenzieren in C++ ohne durch Referenz zu gehen
Bei einem Verfahren in der Klasse B
...
std::list my_list = a->list_;
my_list.push_back(1);
my_list.push_back(2);
my_list.push_back(3);
Ich verstehe, dass my_list in der Tat ist eine Kopie von list_, weshalb die Änderungen nicht auf die ursprünglichen Liste reflektiert werden. Und für dieses spezielle Gebiet versuche ich zu vermeiden, durch Verweis zu gehen. Ohne mit dem folgenden ...
a->list_.push_back(1);
a->list_.push_back(2);
a->list_.push_back(3);
Wäre es möglich, zu tun für mich direkt mit dem list_ Objekt in einem Verweis auf, ohne a
jedes Mal durch das Objekt zu gehen?
Dank
Die bessere Frage wäre, warum Sie Referenzen vermeiden wollen? Möglicherweise komplizieren Sie das Problem über das hinaus, was benötigt wird. –
Warum ist dein 'list_' Mitglied öffentlich? Das ist ein Designgeruch, mit dem Sie vielleicht Ihre Herangehensweise noch einmal überprüfen möchten. –