vector删除的简洁写法

简介: vector删除的简洁写法
#include <iostream>
#include <vector>
#include <algorithm>
struct Test
{
  int a;
  int b;
  Test(int _a, int _b) { a = _a; b = _b; }
};
bool Is_2(Test t) { return (2 == t.a); }
int main()
{
  std::vector<Test> vec;
  Test t1(1, 1);
  Test t2(2, 2);
  Test t3(3, 3);
  Test t4(4, 4);
  Test t5(5, 5);
  vec.push_back(t1);
  vec.push_back(t2);
  vec.push_back(t3);
  vec.push_back(t4);
  vec.push_back(t5);
  for (auto iter = vec.begin(); iter != vec.end(); iter++)
  {
    vec.erase(remove_if(vec.begin(), vec.end(), Is_2), vec.end());
    std::cout << iter->a;
  }
  while (1);
  return 0;
}
相关文章
|
9月前
|
算法 Java C++
27.【C/C++ 最全vector数组的用法 (详解)】(一)
27.【C/C++ 最全vector数组的用法 (详解)】
120 0
|
22天前
|
安全 算法 编译器
C++中=delete的巧妙用法
C++中=delete的巧妙用法
57 0
|
22天前
|
存储 C++
C++STL模板之——list(简化源码,模拟源码)
C++STL模板之——list(简化源码,模拟源码)
|
22天前
|
存储 JavaScript 前端开发
TypeScript 中的 Map 对象定义、基本操作和常见用法
TypeScript 中的 Map 对象定义、基本操作和常见用法
214 7
|
22天前
|
存储 C++ 容器
【STL】:list用法详解
【STL】:list用法详解
36 0
|
6月前
|
存储 C++ 容器
STL中list的基本用法以及模拟实现
STL中list的基本用法以及模拟实现
54 0
|
6月前
|
存储 算法 C++
STL中vector的用法以及模拟实现
STL中vector的用法以及模拟实现
36 0
|
6月前
|
存储 算法 大数据
c++中vector的由来与用法
c++中vector的由来与用法
|
12月前
|
C++ 容器
C++中vector的用法
⭐一、vector的简介 vector的中文译为向量,因此vector是C++STL中一个向量类型的容器。vector还是C++STL中最常用也很实用的一个容器,它的功能十分的强大,可以容纳多种类型的数据。在一些特定的情况下普通的数组使用起来会比较局限,因为普通数组只能实现一对一的映射而不能实现一对多的映射,而vector的引入就可以很好的帮助我们解决这个问题。vector的大小是实时更新变化的,非常的灵活多用,因此vector也可以称之为动态数组。
154 0
【C++要笑着学】list 核心框架接口的模拟实现 | 运算符重载实现list迭代器 | 妙用模板实现const迭代器(二)
我们在上一章说过,list 其实就是带哨兵位循环双向链表而已,这种链表虽然结构复杂,但是实现起来反而是最简单的,我们在数据结构专栏中有过详细的讲解。
63 0
【C++要笑着学】list 核心框架接口的模拟实现 | 运算符重载实现list迭代器 | 妙用模板实现const迭代器(二)