我正在实现一个通用列表:具有两种迭代器的列表:List<T>::Iterator
和List<T>ConstIterator
.
我有以下方法:
typename List<T>::Iterator List<T>::begin() {}
typename List<T>::ConstIterator List<T>::begin() const {}
这是为非常量列表返回非常量迭代器和为常量列表返回常量迭代器的适当方法吗?
我正在实现一个通用列表:具有两种迭代器的列表: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 迭代器。