当前位置:   article > 正文

c++20---std::erase----std::erase_if

c++20---std::erase----std::erase_if

问题:如何删除满足条件的所有元素。

erase

  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. int main(){
  5. std::vector<int> vec{1,2,3,1,1,1,1,1};
  6. std::erase(vec,1);
  7. for(int v:vec) std::cout<<v<<" ";
  8. std::cout<<std::endl;
  9. return 0;
  10. }

  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. int main(){
  5. std::string str="a,b,c,d,e,f";
  6. std::erase(str,',');
  7. std::cout<<str<<std::endl;
  8. return 0;
  9. }

erase_if

  1. #include <iostream>
  2. #include <algorithm>
  3. #include <vector>
  4. int main(){
  5. std::vector<int> vec{1,2,3,4,5,6,7,8,9,10};
  6. std::erase_if(vec,[](int v){
  7. return v%2!=0;
  8. });
  9. for(int v:vec) std::cout<<v<<" ";
  10. std::cout<<std::endl;
  11. return 0;
  12. }

注意:

1,这两容器只需要指定容器,不需要指定容器范围。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/盐析白兔/article/detail/602699
推荐阅读
相关标签
  

闽ICP备14008679号