【发布时间】:2012-03-29 13:03:37
【问题描述】:
我有class A 和public std::list<int> object list_。
Class B,带有指向类 A a 的指针。
在类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);
我是否可以直接引用A中的list_对象,而不必每次都经过对象a?
谢谢
【问题讨论】:
-
更好的问题是为什么要避免传递引用?您可能会使问题复杂化,超出了您的需要。
-
为什么您的
list_成员是公开的?这是一种设计风格,您可能需要重新审视您的方法。