Rimozione di elementi da una raccolta nel STL richiede una tecnica usata così spesso che è diventato un modo di dire: the erase-remove-idiomPerché un assistente di convenienza per l'erase-remove-idiom non è fornito dallo standard?
Uno degli usi più comuni di questo idioma è quello di eliminare un elemento di tipo T
da un vector<T>
Questo è ovviamente molto prolisso e viola lo DRY principle - il vettore in questione è richiesto 4 volte lì.
Quindi la mia domanda è: perché lo standard non fornisce un aiuto pratico?
Qualcosa di simile
widget_collection.erase_remove(widget);
o
std::erase_remove(widget_collection, widget);
Questo potrebbe ovviamente essere esteso a
widget_collection.erase_remove_if(widget, pred);
ecc ...
Il freddo scrive sempre il tuo. – NathanOliver
Ho! :) Ho solo pensato che sarebbe stata un'aggiunta abbastanza semplice a '', quindi tutti ne potrebbero beneficiare –
@SteveLorimer che ho anch'io. Sei specializzato su 'list <>'? – curiousguy