std::remove
не удаляет фактические объекты, а скорее толкает их в конец контейнера. Фактическое удаление и освобождение памяти выполняется путем удаления. Итак:
(1). Существует ли использование std :: remove, кроме использования его с функцией стирания.
blockquote>Да, это помогает получить пару итераторов в новую последовательность, не беспокоясь о надлежащем де-распределении и т. д.
(2). Даже после выполнения std :: remove, почему a.size () возвращает 2, а не 1?
blockquote>Контейнер по-прежнему хранится в этих объектах, у вас есть только новый набор итераторов для работы с , Следовательно, размер по-прежнему остается тем, чем он был.