请问如何理解c++中的vector,看到这里,简直一头雾水啊,求讲解,最好能有点实用的例子,万分感
请问如何理解c++中的vector,看到这里,简直一头雾水啊,求讲解,最好能有点实用的例子,万分感谢...
请问如何理解c++中的vector,看到这里,简直一头雾水啊,求讲解,最好能有点实用的例子,万分感谢
展开
展开全部
我也是初学,可以理解为可动态增长的数组。如果你想问的是泛型那就不用往下看了,我也没有学到。
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++有一个新的认识。
纯手打,共勉。
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++中的说法,这是大多数程序员经验最少的部分)
但是可以基础再扎实再学,因为真的很强大。
展开全部
vector说白了就相当于c语言中学习的数组,不过这是类数组,在使用前你要明确这个数组是存的什么类型的,比如vector<int> ivec;vector里面就存储的时int类型的数组,vector<float> fvec;存放的就是float类型的数组;
如果是char类型的,有现成的,就是string类型;vector容器要比数组使用起来更方便,可以随时向vector容器添加元素,而数组则不能;还有其他的好处,很多很多。所以使用vector非常方便;
望采纳
如果是char类型的,有现成的,就是string类型;vector容器要比数组使用起来更方便,可以随时向vector容器添加元素,而数组则不能;还有其他的好处,很多很多。所以使用vector非常方便;
望采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
就是一个容器阿
你有一堆类型相同的数据,你想管理它们,就把它们放到vector容器里面
你可以往里面放,也可以取出来,就这么简单
你有一堆类型相同的数据,你想管理它们,就把它们放到vector容器里面
你可以往里面放,也可以取出来,就这么简单
追问
哦哦,您这样说倒是挺好理解的,但是书上讲它一开始先提到了一个类模版和实例化,就是这个把我弄的挺纠结的
追答
因为vector是通用容器,所以什么类型的数据都可以放,用的时候只要把类型放到尖括号里面告诉它就可以了,这个就是模板的概念。
例如,如果你往里面放的是字符类型的,你可以这样定义:std::vector,这样你就得到了一个用vector实现的字符串。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-03
展开全部
当做一种叫做顺序表的数据结构理解
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2014-04-03
展开全部
当成一个动态数组。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询