给出以下代码:
void World::extractStates(deque<string> myDeque)
{
unsigned int i = 0;
string current; // current extracted string
while (i < myDeque.size()) // run on the entire vector and extract all the elements
{
current = myDeque.pop_front(); // doesn't work
// do more stuff
}
}
Run Code Online (Sandbox Code Playgroud)
我想在每个迭代中提取前面的元素,但这pop_front()是一个void
方法.我怎样才能获得元素(在前面)呢?
问候
Jon*_*Jon 11
使用front阅读项目,并pop_front删除它.
current = myDeque.front();
myDeque.pop_front();
Run Code Online (Sandbox Code Playgroud)
这种做事方式似乎适得其反,但为了deque提供足够的例外安全保障是必要的.