Функции erase() и clear() отличаются по своему действию при работе со строками. 34
erase() удаляет определённые символы или диапазон символов из строки, сокращая её длину. 3 Она принимает два аргумента: позицию, с которой начинать удалять, и количество символов, которые нужно удалить. 1
clear() удаляет всё содержимое строки, делая её пустой (длина при этом остаётся равной 0 символам). 35
Таким образом, erase() работает с частью строки, а clear() — со всем её содержимым. 4
Кроме того, в общем случае у erase() больше работы — она должна проверить, что индекс находится в диапазоне, и выбросить исключение, если нет. 4 clear() же гарантированно не выбрасывает исключение. 4