C++list的使用总结及常用list操作

C++中list用法详解

 

最近刚刚接触stl的list    学习的时候遇到了很多的困难   现在记录一下   主要是erase方法的使用

erase()方法是删除iterator指定的节点  但是要注意的是在执行完此函数的时候iterator也被销毁了   这样的话关于iterator的操作就会报错     以下是关于erase()方法的正确使用

正确使用方法1      std::list< int> List;
      std::list< int>::iterator itList;
      for( itList = List.begin(); itList != List.end(); )
      {
            if( WillDelete( *itList) )
            {
               itList = List.erase( itList);
            }
            else
               itList++;
      }

正确使用方法2      std::list< int> List;
      std::list< int>::iterator itList;
      for( itList = List.begin(); itList != List.end(); )
      {
            if( WillDelete( *itList) )
            {
               List.erase( itList++);
            }
            else
               itList++;
      }

错误使用方法1

std::list< int> List;
      std::list< int>::iterator itList;
      for( itList = List.begin(); itList != List.end(); itList++)
      {
            if( WillDelete( *itList) )
            {
               List.erase( itList);
            }
      }

错误使用方法2      std::list< int> List;
      std::list< int>::iterator itList;
      for( itList = List.begin(); itList != List.end(); )
      {
            if( WillDelete( *itList) )
            {
               itList = List.erase( ++itList);
            }
            else
               itList++;
      }

记录之

最新文章

  1. php关于ob_start(&#39;ob_gzhandler&#39;)启用GZIP压缩的bug
  2. datatable绑定comboBox显示数据[C#]
  3. pod template
  4. 控件的相对位置与绝对位置-UI界面编辑器(SkinStudio)教程
  5. 第1部分: 游戏引擎介绍, 渲染和构造3D世界
  6. java高级工程师必备知识
  7. Wunder Fund Round 2016 (Div. 1 + Div. 2 combined) A. Slime Combining 水题
  8. HDU 2340 Obfuscation(dp)
  9. CSS3 旋转的八卦图
  10. 【Xamarin挖墙脚系列:最重要的布局ListView】
  11. sublime text3 Emmet (原zenCoding)安装方法
  12. Java 9 揭秘(6. 封装模块)
  13. MVC导入命名空间
  14. Hadoop集群的JobHistoryServer详解(转载)
  15. WebApi的自定义Filter
  16. python的array初识
  17. python练习册 0002随机生成验证
  18. centos 7 安装iptables防火墙
  19. Django&amp;Flask区别
  20. VS2017写的exe调用Delphi 7写的DLL

热门文章

  1. Spark的CombineByKey
  2. GOF23设计模式之外观模式(facade)
  3. Android网络技术
  4. flv格式详解+实例剖析
  5. Hibernate学习3—映射对象标识符(OID)
  6. c# 关键字学习
  7. Java死锁以及命令检测
  8. form中input是类型有哪些?
  9. Python handling an exception
  10. django-bower