Namespaces
Variants

std::experimental::erase (std::basic_string)

Из ru.cppreference.net

 
 
 
 
Определено в заголовке <experimental/string>
template< class CharT, class Traits, class A, class U >
void erase( std::basic_string<CharT, Traits, A>& c, const U& value );
(library fundamentals TS v2)

Удаляет все элементы, равные value из контейнера. Эквивалентно c.erase(std::remove(c.begin(), c.end(), value), c.end());.

Параметры

c - контейнер, из которого производится удаление
value - значение для удаления

Сложность

Линейный.

Пример

#include <experimental/string>
#include <iostream>
int main()
{
    std::string data{"$$P$A$S$S$$W$O$R$$D$"};
    std::cout << data << '\n';
    auto crack{'$'};
    std::experimental::erase(data, crack);
    std::cout << data << '\n';
}

Вывод:

$$P$A$S$S$$W$O$R$$D$
PASSWORD


Смотрите также

удаляет элементы, удовлетворяющие заданным критериям
(шаблон функции & алгоритмический функциональный объект)
(library fundamentals 2 TS)
удаляет все элементы, удовлетворяющие предикату из std::basic_string
(шаблон функции)