我有class A
與public std::list<int> object list_
。 Class B
,指向A a
。引用C++而不通過引用
在B
類的方法...
std::list my_list = a->list_;
my_list.push_back(1);
my_list.push_back(2);
my_list.push_back(3);
我明白my_list其實list_的副本,這就是爲什麼更改不會反映到原始列表。對於這個特定領域,我試圖避免通過引用傳遞。無需做以下...
a->list_.push_back(1);
a->list_.push_back(2);
a->list_.push_back(3);
難道可以讓我直接引用list_對象A,而不必經過對象a
每一次?
由於
更好的問題是你爲什麼要避免傳遞引用?您可能會使問題超出所需範圍而複雜化。 – 2012-03-29 13:08:10
爲什麼你的'list_'成員是公開的?這是一種設計氣味,你可能想重新審視你的方法。 – 2012-03-29 13:14:30