【发布时间】:2021-02-12 18:26:37
【问题描述】:
我有一个名为“Cell”的结构向量,其中包含位置 (x, y)、半径和其他一些变量。 在程序执行期间,我需要在向量末尾添加更多单元格,因为我循环遍历向量并检查条件。 在循环内创建新单元格并使用 push_back 将它们添加到向量中是否安全?或者这会在循环结束后结构被破坏(是吗?)时产生内存问题?代码或多或少如下:
for (Cell c : cells) {
if (my_condition) {
Cell newc;
// define cell properties
cells.push_back(newc);
}
}
提前致谢
【问题讨论】:
-
请在灌封示例代码时始终显示minimal reproducible example。在您的情况下,很明显,您不能安全地更改
cells向量同时迭代它。但总的来说,请遵守发布完整的可编译代码,这完全重现了您遇到的问题。
标签: c++