2017-02-15 6 views
-4

Какие стандартные коллекции C++ включают встроенные в remove/remove_if операции?C++ коллекции со встроенными операциями удаления?

Например, я вижу, что list имеет их:

http://www.cplusplus.com/reference/list/list/remove/ http://www.cplusplus.com/reference/list/list/remove_if/

list<int> mylist (...); 
mylist.remove(42); 

но vector не делает, и я должен сделать v.erase(remove(etc.etc.etc.))

+2

Вы всегда можете посмотреть [docs] (http://en.cppreference.com/w/cpp) для каждого из контейнеров. Я должен спросить ... почему ты этого уже не сделал? –

+1

Скорее всего, типы контейнеров, о которых сообщает [поиск документов] (http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=remove), будут довольно хорошим индикатором того, какие контейнеры имеют это, а какие нет. Этот список отбирает * значительно *, если вы [ищете на 'remove_if'] (http://en.cppreference.com/mwiki/index.php?title=Special%3ASearch&search=remove_if). – WhozCraig

+0

@Jay Bazuzi Я также видел это в «алгоритме», http://www.cplusplus.com/reference/algorithm/remove/ – Dinesh

ответ

0

В нижней части http://en.cppreference.com/w/cpp/container я вижу таблицу, в которой перечислены все операции над всеми контейнерами STL, и remove/remove_if отображаются только на forward_list и list.