Перемещение unique_ptr из одного вектора в другой

Я бы хотел переместить unique_ptr, хранящийся в несортированном векторе, в другой вектор, который будет содержать отсортированный вектор указателей.

Разве перемещение unique_ptr не приведет к автоматическому стиранию элемента в первом векторе? Как я могу это сделать?

Пример того, что я хочу сделать:

std::vector > unsorted, sorted;
// fill the "unsorted" vector
while( unsorted.size() > 0 )
{
    const auto it = find_next_element_to_add_to_sorted(unsorted);
    sorted.push_back( std::move(*it) );
}

Надеюсь, намерения ясны.

ОБНОВЛЕНИЕ : мой алгоритм не позволяет сортировку на месте . Если кто-то сегодня чувствует себя хорошо (я не спрашиваю, мой вопрос см. Выше), не стесняйтесь реализовать это для этой ситуации и показать мне. Мне очень нужна «сортировка по ходу». И я действительно не понимаю, почему переезд будет , что намного дороже.

18
задан Deduplicator 16 November 2015 в 00:56
поделиться