【发布时间】:2013-08-29 16:22:42
【问题描述】:
我正在尝试使用数据成员 std::vector 编写包装类。我的类的默认构造函数应该是什么样子,这样我就可以在不超出范围错误的情况下执行以下操作:
Wrapper W;
W[0] = value; //overloaded index operator, forwards to the vector
【问题讨论】:
-
也许构造函数应该什么都不做,而
operator[]应该检查向量的大小和resize()以确保i在范围内(注意使以前的引用无效)?否则,这完全是猜测向量应该有多大,所以没有人能真正说出你的默认构造函数应该是什么样子。 -
抱歉打错字了,我的意思是 W[0] 而不是 W[i]。
-
如果你想要的只是
W[0],那么构造函数可以是Wrapper() : m_vector(1) {} -
这是一个很大的错字
-
@john 辜负我的用户名,不是吗?