Синтаксис:
#include <set> void clear();
Функция clear() удаляет все элементы из контейнера multiset. Для каждого элемента контейнера вызывается деструктор. clear() выполняется за линейное время.
После вызова функции clear() результатом size для контейнера будет ноль. Тем не менее результат capacity не изменится, и контейнер multiset не освободит занятую память.
Если вы хотите очистить контейнер multiset от всех элементов и освободить память, тогда можно использовать следующий трюк с заменой:
std:: multiset aMultiset; //[...] aMultiset.swap( std::multiset() );
Создается новый временный пустой контейнер multiset и заменяется на контейнер, который нужно очистить.