请问如何理解c++中的vector,看到这里,简直一头雾水啊,求讲解,最好能有点实用的例子,万分感

请问如何理解c++中的vector,看到这里,简直一头雾水啊,求讲解,最好能有点实用的例子,万分感谢... 请问如何理解c++中的vector,看到这里,简直一头雾水啊,求讲解,最好能有点实用的例子,万分感谢 展开
 我来答
半夏染红薇
2014-03-31
知道答主
回答量:3
采纳率:0%
帮助的人:2.2万
展开全部
我也是初学,可以理解为可动态增长的数组。如果你想问的是泛型那就不用往下看了,我也没有学到。

vector是C++标准库中的一个很好用的容器。可以存放你想要的任何数据,而且安全。
vector<int> vec;
vec是一个存放Int的空向量,vec支持以下操作
vec.begin()获取第一个元素的迭代器(可以理解为指针),用法和指针很像。如*(vec.begin())为vec的第一个元素。

同时可实现高速动态增长。
vec.push_back(5)的意思是在vec最后位增加一个元素,值为5。

也支持删除元素
vec.erase(i)//i是迭代器

遍历vec的写法
for(auto i=vec.begin();i!=vec.end(),i++)//i的类型为std::vector<int>:: iterator.....同时vec.end()为最后一个元素的后一个元素
{.....}

C++11也支持一些新的写法
for(auto i:vec)

数组的遍历
int mix[6]
for(int i=0;i<6;i++)
{...}

总之,暂时按照可理解为可增长元素可删除元素的数组吧。

等学了泛型会对C++有一个新的认识。
纯手打,共勉。
更多追问追答
追问
嗯…非常详细, 哦哦,您这样说倒是挺好理解的,但是书上讲它一开始先提到了一个类模版和实例化,就是这个把我搞的挺纠结的
追答
你看是什么书呢
模板跟泛型是一个意思
我个人觉得可以先放一放这个概念(按照effective c++中的说法,这是大多数程序员经验最少的部分)
但是可以基础再扎实再学,因为真的很强大。
墨水ilove
2014-04-01 · 超过23用户采纳过TA的回答
知道答主
回答量:64
采纳率:0%
帮助的人:38.8万
展开全部
vector说白了就相当于c语言中学习的数组,不过这是类数组,在使用前你要明确这个数组是存的什么类型的,比如vector<int> ivec;vector里面就存储的时int类型的数组,vector<float> fvec;存放的就是float类型的数组;
如果是char类型的,有现成的,就是string类型;vector容器要比数组使用起来更方便,可以随时向vector容器添加元素,而数组则不能;还有其他的好处,很多很多。所以使用vector非常方便;
望采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
silmerusse
2014-04-01 · TA获得超过6640个赞
知道大有可为答主
回答量:2919
采纳率:33%
帮助的人:2085万
展开全部
就是一个容器阿
你有一堆类型相同的数据,你想管理它们,就把它们放到vector容器里面
你可以往里面放,也可以取出来,就这么简单
追问
哦哦,您这样说倒是挺好理解的,但是书上讲它一开始先提到了一个类模版和实例化,就是这个把我弄的挺纠结的
追答
因为vector是通用容器,所以什么类型的数据都可以放,用的时候只要把类型放到尖括号里面告诉它就可以了,这个就是模板的概念。

例如,如果你往里面放的是字符类型的,你可以这样定义:std::vector,这样你就得到了一个用vector实现的字符串。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-03
展开全部
当做一种叫做顺序表的数据结构理解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2014-04-03
展开全部
当成一个动态数组。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式