vector erase注意

原创 2015年11月18日 15:02:26
#include <stdio.h>
#include <stdlib.h>
#include <iostream>
#include <vector>
#include <algorithm>

using namespace std;

void print (int& val)
{
	cout << val << endl;
}

void test_vec ()
{
	vector<int>	vec;
	for (int i = 0; i < 10; ++i)
	{
		vec.push_back(i);
	}

	for_each(vec.begin(), vec.end(), print);

	vector<int>::iterator first = vec.begin();

	while (first != vec.end())
	{
		if (*first > 5)
		{
			first = vec.erase(first);
		}
		else
		{
			++first;
		}
	}
	cout << endl;
	for_each(vec.begin(), vec.end(), print);
}

int main (void)
{
	test_vec();
	return EXIT_SUCCESS;
}

C++/STL_中vector基本操作测试代码,vector.erase()使用方法

通过vector我们可以减少类里的变量,比如一个类里存储了一个数据但是不知道这个数据到底要存储个,我们常常使用结构体数组加一个变量来记录存储记录的数量,但是通过vector可以简化这个变量,因为vec...
  • u010003835
  • u010003835
  • 2015年08月11日 15:11
  • 1435

关于 vector 中 erase 函数的使用注意事项

做项目时,总是
  • Jff316948714
  • Jff316948714
  • 2014年07月04日 18:43
  • 3342

vector的erase()函数分析

erase函数可以用于删除vector容器中的一个或者一段元素,在删除一个元素的时候,其参数为指向相应元素的迭代器,而在删除一段元素的时候,参数为指向一段元素的开头的迭代器以及指向结尾元素的下一个元素...
  • dalong277
  • dalong277
  • 2016年08月31日 12:54
  • 1388

vector :: erase 出错问题

vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 vector::erase()方法有两种重载形式 如下: iterator erase(   iterator _...
  • dearwind153
  • dearwind153
  • 2016年07月14日 15:28
  • 807

关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论

关于vector的erase删除操作的两种不同方法,在linux与visual studio的实现讨论1.前言:最近在做某一个题时,用到了vector的删除操作,利用的是erase()函数删除符合条件...
  • qq874455953
  • qq874455953
  • 2017年04月25日 10:19
  • 540

vector.erase()用法介绍及注意事项;

vector::erase():从指定容器删除指定位置的元素或某段范围内的元素 vector::erase()方法有两种重载形式 如下: iterator erase( ...
  • Xiaohei00000
  • Xiaohei00000
  • 2015年10月24日 09:23
  • 7928

C++中Vector的erase()操作以及与remove的区别

vector v; v.pushback(0); v.pushback(1); v.pushback(1); v.pushback(0); 想要删除值为1的元素 错误代码  vecto...
  • zzuchengming
  • zzuchengming
  • 2016年03月15日 13:05
  • 2592

C++ vector容器erase操作后iterate失效真相

在使用STL Vector容器时,大家一定遇到进行erase操作后,迭代器会失效的现象。网上很多文章解释说,是因为Vector的底层是通过数组来实现的,erase之后会造成内存的重新分配,故原容器的迭...
  • chenfei0920
  • chenfei0920
  • 2015年07月23日 12:39
  • 650

注意 c++ vector中的erase()

#include #include vector> using namespace std;   int main() {     vectorint> arr; ...
  • zhuimengzh
  • zhuimengzh
  • 2011年10月03日 09:58
  • 19968

STL vector的erase操作问题

STL vector的erase操作问题一老大说CSDN上有篇博文( “关于STL vector的erase操作”,地址是:http://blog.csdn.net/tingya/archive/20...
  • guafeng
  • guafeng
  • 2008年06月20日 19:15
  • 25193
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:vector erase注意
举报原因:
原因补充:

(最多只允许输入30个字)