std :: move_iterator的迭代器类别
Iterator category of std::move_iterator
std::move_iterator
适配器只是继承模板参数迭代器类型的迭代器类别是有意义的吗?
由于向前迭代器要求参考类型为cv- T&
,但是,对于正向迭代器模板,std::move_iterator<It>::reference
将是对迭代器的值类型的R值引用(保留了参考预选程序)。
因为正向迭代器要求参考类型为cv-t&amp;但是
不正确。标准(C 17,N4659,[Forward.Iterators]/1.3)说:
如果
的参考X
是可突变的迭代器,则reference
是T
的引用;如果X
是常数迭代器,则reference
是constT
rvalue参考是"对T
的引用"。因此,他们有资格。如果他们打算排除RVALUE参考文献,则该标准将说" T
的lvalue参考"。
因此,向前者返回rvalue参考是完全有效的。
相关文章:
- 使用std::multimap迭代器创建std::list
- 来自 std::list 的迭代器 .end() 按预期返回"0xcdcdcdcdcdcdcdcd"但 .begin()
- C++中带有List类的迭代器Segfault
- 如何在c++迭代器类型中包装std::chrono
- 集合上的输出迭代器:assign和increment迭代器
- Boost Spirit,获取迭代器内部语义动作
- 对于set上的循环-获取next元素迭代器
- 为什么output_editor Concept不需要output_e迭代器标记
- c++17文件系统::recursive_directory迭代器()在mac上没有给出这样的目录,但在windows上
- 使用迭代器时如何访问对象在向量中的位置?
- std::vector::迭代器是否可以合法地作为指针
- 跟随整数索引列表的自定义类迭代器
- 不明白迭代器,引用和指针失效,一个例子
- Gnu 的 <Iterator>reverse_iterator::运算符>和代理迭代器
- 给定一个 std::set::iterator,获取一个指向下一个元素的迭代器
- 如何使用regex_token_iterator<std::string::iterator>通过迭代器本身获取子匹配的原始字符串的位置?
- 如何打印迭代器类型列表<pair<int,int>>::iterator itrator it指向的元素
- 迭代器 - vector::itrator 和 array::iterator 的重载函数
- MFC容器中的find_if,迭代器派生自std::iterator
- 我应该使用 const &iterator,还是只使用迭代器?