我想std::vector从具有以下属性的方法返回一个:接收者(用户)将能够编辑向量中的元素,但不能更改向量本身(调整大小,删除,添加等)
std::vector<T>&,接收器将能够调整大小,向其添加元素等.std::vector<T> const&(我是否声明对吗?),他们将无法更改元素.std::vector<T>,它将是一个全新的向量,并且元素的更改将不会在原始元素中.有没有办法做到这一点?也许是引用的转发器,以const(std::vector<T&> const)形式返回?甚至有这样的事情吗?如果有,它可以隐含地将我转换std::vector<T>为它吗?
由于您似乎能够通过引用返回向量,因此您可以将迭代器返回到该向量的开头和结尾.使用迭代器,用户可以编辑任何向量成员,但不能在没有向量本身的情况下添加或删除它们.
您还可以提供一个函数,该函数提供带索引的随机访问,可能是重载operator[].