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