Предположим есть массив - array[1000]. Нужно удалить элемент 400 и при этом сдвинуть массив с 401 на 400, 402 на 401 и т.д. Как это сделать одной командой без циклов?
Например, старый добрый std::move
:
std::move(array + 401, array + 1000, array + 400);
array + 401
, array + 1000
— это начало и конец (past-the-end) перемещаемых элементов, array + 400
— адрес, начиная с которого они теперь будут размещаться. std::move
позволяет сдвигать влево перекрывающиеся диапазоны; для сдвига вправо существует std::move_backwards
.
Не думаю, что это будет нуждаться комментариев...
*(std::remove(array, array + 1000, array[400])) = 0;
Потребовалось создать шаблон, делал все как обычно принято в C/C++, сначала декларацию в header файле, а потом и реализацию в cpp файле, разумеется...
Помогите создать иерархию объектов, которые содержат информацию о комплектации ПК