Bootstrap

std::vector动态数组使用

vector

连续存储结构,每个元素在内存上是连续的,每个元素有固定的位置,取决于插入的顺序和时机;支持 高效的随机访问和在尾端插入/删除操作,但其他位置的插入/删除操作效率低下; 相当于一个数组(本质上是一个动态数组),但是与数组的区别为:内存空间的扩展。vector支持不指定vector大小的存储,但是数组的扩展需要程序员自己写。

vector使用的一个小例子

#include<iostream>
#include<vector>

struct Vertex
{
   
	float x, y, z;
};

//<<操作符重载
std::ostream& operator<<(std::ostream& stream, const Vertex& vertex)
{
   
	stream << vertex.x << "," << vertex.y << "," << vertex.z;
	return stream;
}


int main()
{
   
	std::vector<Vertex> vertices;
	vertices.push_back({
    1, 2, 3 });
	vertices.push_back({
    4, 5, 6 });
	vertices.push_back({
    7, 8, 9 });
	for (int i = 0; i < vertices.size(
;