我正在实现一个通用列表:列表包含两种类型的迭代器:List<T>::Iterator
和List<T>ConstIterator
。
我有以下方法:
typename List<T>::Iterator List<T>::begin() {}
typename List<T>::ConstIterator List<T>::begin() const {}
这是为非常量列表返回非常量迭代器和为常量列表返回常量迭代器的合适方法吗?
答案 0 :(得分:3)
是的,这就是它的完成方式in the standard library。
与C ++ 11中引入的标准库扩展类似,您还可以提供cbegin()
函数allows来获取const迭代器,即使列表不是const本身。