Учитывая следующий код:
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
}
}
Я хочу извлечь каждую итерацию элемента в передней части, но pop_front()
это void
метод. Как я могу получить элемент (спереди) тогда?
С уважением
использование front
прочитать предмет и pop_front
удалить это.
current = myDeque.front();
myDeque.pop_front();
Такой способ действий может показаться контрпродуктивным, но это необходимо для того, чтобы deque
обеспечить адекватное гарантии исключительной безопасности.
Других решений пока нет …