Per*_*-lk 2 c++ iterator c++14
std::move_iterator适配器仅仅继承模板参数Iterator类型的迭代器类别有意义吗?
因为正向迭代器要求引用类型为 cv- T&,但是,对于正向迭代器模板,std::move_iterator<It>::reference将是对迭代器值类型的右值引用(保留引用限定符)。
因为前向迭代器要求引用类型是cv-T&,但是
不正确。标准(C++17,N4659,[forward.iterators]/1.3)说:
if
X是一个可变迭代器,reference是对 的引用T;ifX是常量迭代器,reference是对 const 的引用T
右值引用是“对”的引用T。因此,他们有资格。如果他们打算排除右值引用,则标准会说“左值引用T”。
因此,ForwardIterator 返回右值引用是完全有效的。
| 归档时间: |
|
| 查看次数: |
59 次 |
| 最近记录: |