返回链表的正确迭代器类型
Return correct type of iterator for a linked list
我正在实现一个通用列表:具有两种迭代器的列表: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 迭代器。
相关文章:
- 如何在c++迭代器类型中包装std::chrono
- 定义模板参数的迭代器类型
- C++如何乘以包含 std::variant 元素的向量的迭代器?正在执行迭代器类型的转换?
- C++不兼容的迭代器类型
- 如何推导 std::高级迭代器类型?
- 在 stl 容器包装器中定义迭代器类型
- 矢量迭代器类型未知
- STD ::向量迭代器类型和允许的操作
- 检查容器模板类中的迭代器类型
- 如何断言模板参数的类型 STL 迭代器类型
- 检测容器是否具有迭代器类型
- 由set2.begin()返回的迭代器类型
- 序列容器的迭代器类型是什么?
- 如何推断嵌套最多的迭代器类型
- 为什么迭代器类型与矢量容器中的 value_type * 不匹配
- ISO C++禁止声明没有自动迭代器类型的“it”
- 使用的迭代器类型错误
- 列表的迭代器类型
- 如何打印迭代器类型列表<pair<int,int>>::iterator itrator it指向的元素
- 为什么 void* 不是迭代器类型?