次のプロパティを持つメソッドからを返したいstd::vector
:レシーバー(ユーザー)はベクター内の要素を編集できますが、ベクター自体を変更することはできません(サイズ変更、削除、追加など)。
- を返す
std::vector<T>&
と、レシーバーはサイズを変更したり、要素を追加したりできるようになります。 - (私はその権利を宣言しましたか?)を返すと
std::vector<T> const&
、要素を変更できなくなります。 - を返す
std::vector<T>
と、まったく新しいベクトルになり、要素への変更は元のベクトルにはなりません。
これを行う方法はありますか?たぶん、const(std::vector<T&> const
)として返される参照のベクトル?そんなこともありますか?そして、もしあれば、それは暗黙のうちに私std::vector<T>
をそれに変換することができますか?