为容器存储磁盘上的值实现迭代器运算符*

时间:2015-07-21 08:37:03

标签: c++ iterator operator-overloading

在我的容器中,我使用特殊函数来获取/设置(MyGet / MySet)我的数据(TData)。如何为输出迭代器实现operator *?

我可以管理输入:

const TData& operator *() const{
            return this->MyGet(this->index);
}

但是如何在输出中调用MySet?

感谢。

1 个答案:

答案 0 :(得分:0)

不是通过引用返回TData,而是按值返回一些新的类TDataProxy。在其中创建operator TDataoperator=(TData),您就可以控制何时需要MySet来电。