私はクラスを持っています:
class X {
vector<shared_ptr<T>> v_;
public:
vector<shared_ptr<const T>> getTs() { return v_; }
};
のタイプvector
があります。何らかの理由で、このベクトルを返すメソッドを公開する必要があります。ただし、ベクトルのコンテンツを変更したくありません。また、ポイントされているオブジェクトも変更されません。だから私はのを返す必要があります。shared_ptr
T
vector
shared_ptr<const T>
私の質問は、これを達成するための効率的な方法はありますか?単純に返すと機能しますが、ベクトルを再構築する必要があり、コストがかかります。
ありがとう。