![]() |
1
10
迭代器的真正值类型很可能是迭代器本身。
因此,定义真正的值类型也是无用的。定义为
我想这只是输出迭代器概念的局限:它们是“滥用”运算符重载的对象,以便 出现 指针式的,而实际上完全不同的事情正在发生。
不过,你的问题很有趣。如果您想支持任何容器,那么有问题的输出迭代器可能是
它只会让你走这么远。我想我们可以更进一步,这样它也可以,比如说
|
![]() |
2
2
迭代器的值类型的目的是定义在取消引用迭代器时返回的类型。对于输出迭代器,解引用运算符的唯一合法用法是当它与赋值运算符一起使用时--形式为
此外,输出迭代器可以存储多个类型的值,这些类型不必彼此有任何关系。例如
|
|
Julia · 矢量中相加为总和S的值的数量 2 年前 |
![]() |
C_Rod · 在模板方法中确定STL容器中项目的数据类型 3 年前 |
![]() |
quantumwell · 将空向量放入std::map() 7 年前 |
![]() |
OutOfBound · 对未初始化内存使用算法的优点 7 年前 |
![]() |
DarthRubik · 在使用列表删除之后,迭代器如何不无效 7 年前 |