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