STL Vecotr.erase 快速删除

2440阅读 0评论2015-12-21 evaspring
分类:C/C++


点击(此处)折叠或打开

  1. template <typename T, typename Alloc>
  2. inline void SimpleEraseVecotr(std::vector<T, Alloc> &vec, T val)
  3. {
  4.     for(typename std::vector<T, Alloc>::iterator it=vec.begin();it!=vec.end();++it)
  5.     {
  6.         if(*it == val)
  7.         {
  8.             *it = vec.back();
  9.             vec.erase(vec.end()-1);
  10.             return;
  11.         }
  12.     }
  13. }


上一篇:关于socket阻塞与非阻塞情况下的recv、send、read、write返回值
下一篇:现代软件工程讲义 源代码管理10个实践问题