我有一个vectorArr
数组(vectorArr
)对象。有2个线程,1个推送对象std::vector<int>
数组和其他工作。当我结束使用它们时,必须从中删除一些对象。所以我只是将这些对象索引号添加到其他DeleteList
(vectorArr
),然后迭代它并从保存的索引中删除std::vector<int> DeleteList;
int index = 0;
for (auto &data : vectorArr)
{
if (data.frames < 150) {
data.frames++;
//some code here
}
else DeleteList.push_back(index);
index++;
}
if (DeleteList.empty())
return;
for (auto &dIndex : DeleteList) {
if (dIndex < vectorArr.size())
vectorArr.erase(vectorArr.cbegin() + dIndex); // out of range exception
}
DeleteList.clear();
中的对象,但有时我得到了超出范围的例外。我不明白为什么会这样。
$this->team->playerAssignment->player