vector类
说明:
不强制类实际元素具有唯一性的集合;基本上是个数组,可以调大小
扩大数组的过程:
开始默认开辟一个单元大小,当扩大时,在内存上开辟一块空间比刚开始的大,再把之前的复制过来,再删掉旧的数组;
基本使用代码示例:
int main()
{
std::vector<vertex>a;//把vertex存在一段内存上默认一个单元大小
//若要调整大小要复制数据 用vector指针会避免复制
a.push_back({1,2,3,4})//数组中添加元素
}
.size()
计算动态数组大小 是vector类的方法
a[i]
访问下标为i的动态数组中的数据
动态数组的遍历:
for(vertex& v:a)
.clear()
清除
.erase(a.begin()+1)
参数是迭代类型的
单独基础数组中元素,该段代码表示移除第二个元素;
.reserve()
调整容量大小,不是创建新数组 删旧数组;
代码示例:
int main()
{
std::vector<vertex>re;
re.reserve(3)//调整动态数组容量
re.push_back(vertex(1,2,3));//vertex是子main中构造的一个对象 然后再复制到vector中
//改成re.emplace_back(vertex(1,2,3))//这传递的不是构造的vertex而是传的构造函数的参数列表
re.push_back(vertex(4,5,6));
re.push_back(vertex(7,8,9));
}
标签:vertex,back,re,vector,数组,push,动态
From: https://www.cnblogs.com/WZline/p/18301433