我正在尝试迭代一个 vector 对,我需要通过这样做来增加对中的一个元素:
for (std::vector<std::pair<Process *, int> >::const_iterator it = process.begin(); it != process.end(); it++) {
if (queue.size() == 0)
break;
while (queue.size() > 0 && it->second < threadsPerProcess * 2) {
it->first->send(queue.front());
queue.pop_front();
++it->second; // value i am trying to increment
}
}
谁能告诉我我做错了什么?
最佳答案
改变这个:
for (std::vector<std::pair<Process *, int> >::const_iterator it = process.begin(); it != process.end(); it++) {
为此:
for (std::vector<std::pair<Process *, int> >::iterator it = process.begin(); it != process.end(); it++) {
以便您实际修改正在迭代的元素。
关于c++ - 对 vector 中的增量值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36813862/