我有一堂课:
class X {
vector<shared_ptr<T>> v_;
public:
vector<shared_ptr<const T>> getTs() { return v_; }
};
它有一个vector
ofshared_ptr
类型T
。出于某种原因,它需要公开一个方法来返回这个向量。但是,我不想修改向量的内容,也不想修改指向的对象。所以我需要返回一个vector
of shared_ptr<const T>
。
我的问题是,有没有有效的方法来实现这一目标?如果我简单地返回它,它可以工作,但它需要重建一个向量,这有点昂贵。
谢谢。