美文网首页
C++笔记:STL容器的循环删除

C++笔记:STL容器的循环删除

作者: 碎冰op | 来源:发表于2017-06-02 22:13 被阅读97次

vector的迭代删除

    vector<int> vec;
    for(auto i=vec.begin();i!=vec.end();)//由于会返回指向之后元素的迭代器故不能添加i++
    {
        vec.erase(i);
    }

map的迭代删除

    map<int,int> m;
    for(auto i=m.begin();i!=m.end();i++)//map是关联容器
    {
        m.erase(i);
    }

vector的这种写法不够直观,for循环中最好不要改变容器
妹红告诉我应该用C++14改进的写法

    auto i=remove_if(vec.begin(),vec.end(),[](const auto& v){return v==0;});
    vec.erase(i,vec.end());

相关文章

  • C++笔记:STL容器的循环删除

    vector的迭代删除 map的迭代删除 vector的这种写法不够直观,for循环中最好不要改变容器妹红告诉我应...

  • C++ STL 之 vectot(四)

    今天我们继续更新 C++ STL 中 vector 容器的使用 vector 容器删除元素 使用 clear() ...

  • [C++] STL 容器

    参考:[C++] STL 容器 (一) - 基本介紹[C++] STL 容器 (二) - Iterator 部分示例:

  • STL | vector的使用(续)

    写在前面: 很久之前写过关于C++ STL中vector容器的基本用法,最近涉及到了vector容器元素的删除,发...

  • C++ STL 学习笔记

    C++ STL 学习笔记

  • 浅析STL allocator

    STL allocator是做什么用? 在学习STL中containers会发现C++ STL里定义了很多的容器(...

  • C++ STL(1)

    C++ STL(1) from my csdn blog C++标准模板库 容器C++标准模板库提供了10种容器基...

  • c++ STL

    一.STL: standard template library(C++标准模板库) STL共有六大组件:容器、算...

  • C++ STL 之 vectot(三)

    今天我们继续更新 C++ STL 中 vector 容器的使用 vector 容器增加元素 vector 容器增加...

  • STL与泛型编程 第一周 博览网

    重要的C++参考网站:cplusplus.com CppReference STL六大容器 容器containe...

网友评论

      本文标题:C++笔记:STL容器的循环删除

      本文链接:https://www.haomeiwen.com/subject/mcxpfxtx.html