我有一个具有私有(private)属性 vector rectVec 的类;
class A {
private:
vector<Rect> rectVec;
};
我的问题是如何返回我的 Vector 的“只读”拷贝? 我正在考虑这样做:
class A {
public:
const vect<Rect>& getRectVec() { return rectVect; }
}
这是正确的方法吗? 我在想这样可以防止被调用者修改 vector (在 vector 中添加/删除Rect),那么 vector 里面的Rect呢?
最佳答案
这是正确的方法,尽管您可能也希望将函数设为 const
。
class A {
public:
const vect<Rect>& getRectVec() const { return rectVect; }
};
这使得人们可以使用 const A
对象调用 getRectVec
。
关于c++ - 如何返回 vector 的 'read-only' 拷贝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2465751/