У меня есть std :: deque, и я хочу вставить элемент по указанному индексу (я знаю, что std :: list будет лучше в этом). Функция deque :: insert () использует итератор, чтобы указать место для вставки. Учитывая индекс, как я могу получить итератор, указывающий на это местоположение, чтобы я мог передать этот итератор в insert ()?
Например:
void insertThing ( deque<Thing> & things, Thing thing, size_t index )
{
deque<Thing>::iterator it = /* what do I do here? */
things.insert ( it, thing );
}
Я уверен, что это очень простой вопрос, и я прошу прощения за него. Прошло много времени с тех пор, как я использовал STL, и я не вижу ничего в списке участников std :: deque, который, очевидно, делает то, что я хочу. Спасибо.