C++中 vector结合迭代器实现增删操作!

2015-07-20 18:01:43 · 作者: · 浏览: 4

1 说明:目的是为了将vector里 符合isdel==true的元素删掉。

2 实现代码

#include "stdafx.h"
#include 
  
   
#include 
   
     #include 
    
      using namespace std; class Test { public: Test(bool isdel) { this->is_delete=isdel; } bool is_delete; }; void print(vector 
     
       &v) { std::vector
      
       ::iterator iter; for(iter=v.begin();iter!=v.end();++iter) { cout<<(*iter).is_delete<<" "; assert(!(*iter).is_delete); } cout<
       
         &v,bool b) { Test *t= new Test(b); v.push_back(*t); delete t; cout<
        
          &v) { std::vector
         
          ::iterator iter; for(iter=v.begin();iter!=v.end();) { if((*iter).is_delete==true) { iter=v.erase(iter); } else { ++iter; } } } int _tmain(int argc, _TCHAR* argv[]) { vector 
          
            svec; std::vector
           
            ::iterator iter; srand(time(NULL)); cout<<"随机赋值:"<