填充矢量中包含的集合是否正确
Is it correct to fill sets contained in vector?
我有一个vector<set<int>> v(10);
.每个集合都可以由一些数据填充。然后我插入整数到随机集合,例如 v[5].insert(99);
.它会导致未定义的行为吗?
只有当你超出向量的界限时。
如果您的vector
至少有 6 个元素,则v[5].insert(99);
定义良好。
若要确保不这样做,可以使用 at
访问器函数:
v.at(5).insert(99);
如果您尝试访问数组末尾,这将引发std::out_of_range
异常。
相关文章:
- 检查值是否在集合p1和p2中,但不在p3中
- 重载运算符的范围是什么?它是否会影响作为类成员的集合的插入函数?
- 是否可以在C STL中获得集合的单个元素
- 检查 c++ 结构是否在集合中
- 是否有用于存储离散间隔的集合
- 是否可以在 C# 中创建"perfect forwarding"泛型集合?
- 填充矢量中包含的集合是否正确
- C++内存中的大型对象集合是否正常
- 重载指向集合的指针的开始/结束是否是个好主意
- 检查当前元素是否是集合的最后一个元素
- 是否可以将.NET并发集合用于X64通信的过程间X32
- 迭代器是否以相同的顺序迭代 boost::unordered_set 或 boost::unordered_map 只要集合不变?
- 映射/集合迭代器不兼容-检查对象是否在映射中
- 映射/集合迭代器不兼容-检查映射中是否存在键
- STL 集合的插入方法是否复制传递对象的值?
- 是否可以在C++中传递一个将参数带入集合的构造函数
- 如何检查系统::集合::ArrayList是否存在/为空
- 如何在C++中检查一个集合是否有某个范围内的元素
- 如何检验一个集合是否自反、对称、反对称和/或传递
- 一个集合是否可能包含指向同一对象的两个共享指针?