从容器中删除元素的单语句方法
是否有一个算法可以像下面的代码一样从容器中删除元素?
vec_it = std::remove_if( vec.begin(), vec.end(), pred );
vec.erase( vec_it, vec.end() );
Is there a single algorithm that removes elements from a container as happens in the following code?
vec_it = std::remove_if( vec.begin(), vec.end(), pred );
vec.erase( vec_it, vec.end() );
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
惯用的做法就像贾尔夫所说的那样。 您可以构建自己的函数来更轻松地做到这一点:
所以您可以使用
The idiomatic way to do it is like jalf has said. You can build your own function to do that more easily:
So you can use
你的意思是这样吗?
这是惯用的做法。
You mean like this?
That's the idiomatic way to do it.
我不知道。 也许有。 但如果有的话,那么这将是一个地狱般的声明。 没有人能够理解或维护它。 如果这两行符合您的要求,请坚持使用它们。 他们非常好。
I don't know. Maybe there is. But if there is, then it will be a hell of a statement. Nobody will be able to understand or maintain it. If those two lines do what you want, just stick with them. They are perfectly good.