Я хочу удалить элемент из std::set
.
Я знаю, что лучший и простой способ - проверить его существование в наборе, используя метод set<T>::find(T val)
, а затем стереть его, используя возвращенный set<T>::iterator
. Но я sh буду использовать сокращенный метод стирания по значению.
Хотя std::set
обеспечивает это через перегруженную функцию set<T>::erase(T val)
, чтобы стирать по значению, как указано здесь Я не смог найти, что произойдет, если значение не существует в наборе.
Как можно было бы интуитивно ожидать, разве это ничего не делает , если значение аргумента не существует в наборе ? Гарантируется, что он не выдаст ошибку / исключение?