gpt4 book ai didi

迭代器的 C++ vector

转载 作者:行者123 更新时间:2023-11-30 02:11:01 24 4
gpt4 key购买 nike

我知道我可以指出 vector 的数量 std::vector<int>在一个 vector<int*> onev_point_2_all 上使用 for 循环等等。但是我如何使用迭代器来创建迭代器 vector 而不是指针 vector ?

最佳答案

您可以有一个迭代器 vector ,不一定是 vector 的迭代器,也不一定是同一集合的迭代器,但它们必须都是同一类型。

您不需要基础集合就可以取消引用它们,因此如果您知道它们都是有效的迭代器并且这就是您想要做的,那么您这样做就没有问题。如果它们是非常量迭代器,您还可以设置它们的值(如果未设置迭代器)。

如果您需要检查它们以查看它们是否是“结束”迭代器,或者将它们从它们的集合中移除,那么您将需要知道迭代器背后的底层集合。如果它们都来自同一个集合,那很简单,但如果它们来自不同的集合,则您需要存储一个指向它们基础集合的指针。请注意,它必须是指向基础集合的指针,而不是引用,就好像它们是 vector 项一样,它们必须是可分配的。

关于迭代器的 C++ vector ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4013164/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com