首页 > 其他 > 详细

std::remove_if和std::remove用法总结

时间:2020-05-27 12:50:00      阅读:104      评论:0      收藏:0      [点我收藏+]

函数原型:

  • 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

 

std::remove_if和std::remove用法总结

原文:https://www.cnblogs.com/foreversdf/p/12971566.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!