daj*_*daj 1 c++ stl idioms erase
我遇到了在C++中按值删除元素的问题的答案:
基本上:
vec.erase(std::remove(vec.begin(), vec.end(), valueToRemove), vec.end());
Run Code Online (Sandbox Code Playgroud)
答案是有道理的,但这不是坏风格吗?逻辑由双重否定组成......有更清洁的方法吗?
从集合中删除元素包含两个步骤:
与C++标准库,这是两个独立的功能,remove和erase分别.
人们当然可以想象一种erase_if更容易使用的功能,但显然当前的代码被认为是足够好的.当然你可以自己写remove_if.
| 归档时间: |
|
| 查看次数: |
326 次 |
| 最近记录: |