|
|
1
2
如果const_iterator和迭代器之间存在继承,则可能会相反。这是一个常量迭代器,它提供了基本的导航能力,可变迭代器增加了修改目标的能力(通过允许对const_iterator内部的受保护访问来实现)。 编辑:最初的问题是从迭代器派生const_iterator。正如我和大卫·罗德里格斯几乎同时指出的那样,这是个坏主意。 对于修改后的问题,从const_iterator派生迭代器,David的评论提供了最好的答案。这是可以做到的,但通常不是一个好主意。 作为反问:在这种情况下使用继承有什么好处?如果有优势,那么拥有一个公共基类(iterator_impl)(迭代器和常量迭代器都是从该基类派生的)是否提供了相同的优势? |