函數原型:
- remove(first, last, val) 刪除first到last之間所有值為val的元素
- remove_if(first, last, pred) 從first到last中將滿足條件pred的元素刪除
remove本身時std::list的成員函數可以直接使用,對於std::vector它不是成員函數需要借助erase來使用。
std::vector<char> str_ {'P', 'A', 'J', 'D', 'F'};//簡單來說就是把'P'移到最后然后通過erase刪除 str_.erase(remove(str_.begin(), str_.end(), 'P'), str_.end()); str_.erase(remove_if(str_.begin(), str_.end(), [](char c) {return c == 'A'; }), str_.end()); for (auto &i : str_) { std::cout << i << std::endl; }
【輸出】J D F
