首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

vector中删除元素的有关问题

2012-02-07 
vector中删除元素的问题我想在vector中删除某个元素,用erase()吗,顺便iterator是什么类型的的,我很迷惑,谢

vector中删除元素的问题
我想在vector中删除某个元素,用erase()吗,
顺便iterator是什么类型的的,我很迷惑,谢谢指点!

[解决办法]
删除元素:c.erase(p)
其中p为指向容器的迭代器,即vector <type> ::iterator
迭代器(iterator)是一种检查容易内元素并遍历元素的数据类型
若一种类型支持一组确定的操作(该操作可以用来遍历容器内的元素,并访问这些元素的值),则称为类型为容器。
基本上可以这样理解,迭代器和容易的关系很像指向某数据类型的指针和数据类型本身。
比如:int 和 int *,vector <type> 和 vector <type> ::iterator
[解决办法]
vector的iterator实际上就是一种原生指针.
如果 vector <int> ,则ierator其实就是int*

temlate <class T, ...>
class vector
{
public:
typedef T value_type;
typedef value_type* iterator;
typedef const value_type* const_iterator;
...
};

热点排行