我正在实现一个通用列表:具有两种迭代器的列表:List<T>::Iterator
和List<T>ConstIterator
。
我有以下方法:
typename List<T>::Iterator List<T>::begin() {}
typename List<T>::ConstIterator List<T>::begin() const {}
这是为非常量列表返回非常量迭代器和为常量列表返回常量迭代器的适当方法吗?
是的,这也是标准库中完成的方式。
与 C++ 11 中引入的标准库扩展类似,您还可以提供一个 cbegin()
函数,即使列表本身不是 const 本身,也可以获取 const 迭代器。