Вставка (или удаление) элемента не в конец вектора.
При вставке элемента в позицию до конца вектора (emplace
, insert
):
- Элементы, находящиеся справа от точки вставки, сдвигаются на одну позицию "вправо". Это требует копирования или перемещения каждого такого элемента.
- Если текущая емкость вектора недостаточна для размещения нового элемента, происходит перераспределение памяти: выделяется новый, больший по размеру блок памяти, и все существующие элементы копируются или перемещаются в этот новый блок. Затем освобождается старый блок памяти.
При удалении элемента из позиции до конца вектора (erase
):
- Элементы, находящиеся справа от точки удаления, сдвигаются на одну позицию "влево". Это требует копирования или перемещения каждого такого элемента.
Наибольшее количество копирований происходи
Вставка (или удаление) элемента не в конец вектора.
При вставке элемента в позицию до конца вектора (emplace
, insert
):
- Элементы, находящиеся справа от точки вставки, сдвигаются на одну позицию "вправо". Это требует копирования или перемещения каждого такого элемента.
- Если текущая емкость вектора недостаточна для размещения нового элемента, происходит перераспределение памяти: выделяется новый, больший по размеру блок памяти, и все существующие элементы копируются или перемещаются в этот новый блок. Затем освобождается старый блок памяти.
При удалении элемента из позиции до конца вектора (erase
):
- Элементы, находящиеся справа от точки удаления, сдвигаются на одну позицию "влево". Это требует копирования или перемещения каждого такого элемента.
Наибольшее количество копирований происходи