1

有一个类通过值返回的另一个连接类的对象公开其一些功能和数据。例如,通过 begin() 和 end() 方法返回迭代器类的容器类型。它按值返回迭代器,所以

iterator begin();
const iterator begin() const;

不起作用,我们需要两个单独的类 iterator 和 const_iterator 但是代码重用的原则被违反了,因为我们需要在两个类中实现类似的功能。

有什么解决方法吗?如何在代码重用和保留恒定性之间找到折衷?

4

1 回答 1

1

const 不。除了创建函数和类的非常量版本之外,我从未见过它以任何其他方式完成。

于 2012-10-02T12:56:36.080 回答