【发布时间】:2010-03-17 20:44:37
【问题描述】:
我有一个具有私有属性向量 rectVec 的类;
class A {
private:
vector<Rect> rectVec;
};
我的问题是如何返回我的 Vector 的“只读”副本? 我正在考虑这样做:
class A {
public:
const vect<Rect>& getRectVec() { return rectVect; }
}
这是正确的方法吗? 我在想这样可以防止被调用者修改向量(在向量中添加/删除Rect),那么向量里面的Rect呢?
【问题讨论】:
-
这听起来有点混乱。如果您制作副本,为什么它是否是只读的很重要?如果您想要对原始数据进行只读访问,那么您就不需要制作副本。
标签: c++ const-correctness