在有c语言基础的情况下,第一次见vector会比较陌生
实际上,它就是个和数组差不多的玩意。
首先 需要#include<vector>
vector<类型> 这个类型 可以是 int double char string,甚至是自己定义的类名。
然后像一个容器一样将数个 变量存下来,存到这个容器里(vector又叫容器)
**定义和初始化vector **
vector<类型> v1;//空 vector
vector<类型> v2(v1);//v1 v2 类型必须相同
vector<…>v1(10) //包含10个元素,值为默认初始化
vector<…>v1(10,2)//包含10个元素 值为 2;
vector<…>v1{1,2,3} //包含 三个元素,为1,2,3
vector<string> v1{10,“abc”} //包含10个元素 都为abc
圆括号和花括号的辨析: 圆括号适合于复制副本,和批量创造元素,圆括号里面只允许两个东西存在。而花括号就是 直接包含元素,用逗号隔开。但也有特殊情况 比如 对于 string,花括号里面有第一个数字可以使得编译器强行按圆括号执行。
vector的操作
v.empy() 如果v为空 返回真
v.push_back(t) ,向尾端添加元素t
v.size(),返回元素个数
v[n] ,返回第n+1个元素
使用for语句处理vector对象的元素
vector v{1,2,3,4,5,6,7,8,9};
for(auto &i:v} //对于v中所有元素 用 以i 为引用形式,改变v中元素的内容
i*=i;
for(auto i:v)//对于v中的所有元素 令 i为中间值,间接输出元素。不用考虑vector的元素个数
cout<<i<<" ";
只能对已知的元素执行下标操作 如果要添加元素 就只能用push_back。