![]() |
1
12
就能够完成手头的任务而言,他们都同样出色。毕竟,它们都提供了一个满足迭代器要求的对象,并且您正在使用它们指向
原始指针类型,
另一方面
如果您碰巧更改了容器类型,这也有更易于维护的好处。如果你换成了
当我们有了概念,我希望最好的实践是:
哪里
|
![]() |
2
4
如果您添加支票:
那么,你展示的所有例子都同样有效。
如果要迭代
使用迭代器检查迭代器是否到达向量的末尾比使用其他形式更容易。
|
![]() |
3
0
所有这些方法都有各自的优点,但其核心是非常相似的。但是,当向量为空时,其中一些不起作用(它们会导致所谓的“未定义行为”)。 |
![]() |
4
0
根据 cppreference :
这是最强大的迭代器,因为它包含所有其他迭代器功能。所以它们可以是同一个,迭代器只是使代码清晰、一致和可移植的一种手段。 例如,我们可以有一些容器“C”。。。
哪里
也许我们不想/不需要
LegacyContiguousIterator
所以我们可以重新定义
这就是为什么迭代器应该是首选的,但在大多数情况下,它们将是相同的东西。 在这两种情况下,只要我们定义了所有其他必需的成员函数和typedef,我们的容器“C”就可以像其他STL容器一样工作。 |
![]() |
llewmills · 根据数字是否为整数过滤数值向量[重复] 2 年前 |
![]() |
Rocket Procd · 在c中向向量插入元素++ 2 年前 |
![]() |
Daniel · 为什么我不能手动定义模板参数? 2 年前 |
![]() |
Swantewit · 将数组值推送到Rust中的向量 2 年前 |
![]() |
Giffyguy · 如何限制在构造向量后调用'resize()'? 2 年前 |
![]() |
clarkk · 当声明向量时,(1)是什么意思? 2 年前 |
![]() |
Loui Augst · 仅在局部X轴上将游戏对象指向另一个对象 2 年前 |
![]() |
F.A. · 从int向量中附加整数的字符串不会打印任何内容 2 年前 |