c++ - vector 中允许的事件迭代器的数量

标签 c++ templates vector iterator standards

例如以下是否有效?

std::vector<int> vec(5, 0);
std::vector<int>::const_iterator it1(vec.begin());
std::vector<int>::const_iterator it2(vec.begin());
//Use it1 and it2 like they don't know about each other.

是否有允许多个事件迭代器的容器的特殊名称?

最佳答案

是的,它是有效的。

您可以在一个 vector 中加入尽可能多的迭代器,因为您的系统有足够的内存来保存迭代器。

这种容器的特殊名称是“任何STL 容器”。所有容器都允许这样做。

也许可以解释为什么您认为不应该允许这样做?

关于c++ - vector 中允许的事件迭代器的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3428894/

相关文章:

c++ - std::condition_variable::wait with predicate

c++ - 如何以更通用的方式转换 unique_ptr 的 vector

c++ - 如何将元素插入 vector 的开头?

c++ - 如何插入 map 或 vector 以生成 json 字符串 (jsoncpp)

c++ - 编译时检查的字符串到整数映射是否可能?

c++ - 来自 D3D 显示适配器 ID 的描述性监视器名称

c++ - 解析模板和 const volatile 类型

具有谓词支持的 C++ 模板函数

c++ - union 和类型双关语

c++ - 函数模板的部分特化