![]() |
1
12
就能够完成手头的任务而言,他们都同样出色。毕竟,它们都提供了一个满足迭代器要求的对象,并且您正在使用它们指向
原始指针类型,
另一方面
如果您碰巧更改了容器类型,这也有更易于维护的好处。如果你换成了
当我们有了概念,我希望最好的实践是:
哪里
|
![]() |
2
4
如果您添加支票:
那么,你展示的所有例子都同样有效。
如果要迭代
使用迭代器检查迭代器是否到达向量的末尾比使用其他形式更容易。
|
![]() |
3
0
所有这些方法都有各自的优点,但其核心是非常相似的。但是,当向量为空时,其中一些不起作用(它们会导致所谓的“未定义行为”)。 |
![]() |
4
0
根据 cppreference :
这是最强大的迭代器,因为它包含所有其他迭代器功能。所以它们可以是同一个,迭代器只是使代码清晰、一致和可移植的一种手段。 例如,我们可以有一些容器“C”。。。
哪里
也许我们不想/不需要
LegacyContiguousIterator
所以我们可以重新定义
这就是为什么迭代器应该是首选的,但在大多数情况下,它们将是相同的东西。 在这两种情况下,只要我们定义了所有其他必需的成员函数和typedef,我们的容器“C”就可以像其他STL容器一样工作。 |
|
wavesinaroom · 断言结构向量长度 5 月前 |
![]() |
Amarth Gûl · 找到一组向量的最近收敛点 5 月前 |
![]() |
P_B · 如何从矩阵中减去均值向量 10 月前 |
![]() |
TheEagle · 根据迭代器的顺序向前或向后迭代 10 月前 |
![]() |
Mary Ann Moody · 如何创建一个包含2个元素的向量? 10 月前 |
![]() |
Chris · 如何在OpenSCAD中的FOR循环中成对创建矢量元素 12 月前 |