填充矢量中包含的集合是否正确

Is it correct to fill sets contained in vector?

本文关键字:集合 是否 包含 填充      更新时间:2023-10-16

我有一个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异常。