我有vector<set<int>> v(10);
。每个集合可以由一些数据填充。然后我将整数插入随机设置,例如v[5].insert(99);
。它会导致未定义的行为吗?
答案 0 :(得分:1)
只有当你超出向量的范围时。
如果您的vector
至少包含6个元素,则v[5].insert(99);
定义明确。
为确保不这样做,您可以使用at
访问者功能:
v.at(5).insert(99);
如果您尝试访问数组末尾,则会抛出std::out_of_range
异常。