C++给我们提供了一个叫Vector的类,这个Vector在std命名空间中。这个Vector有点像一个集合,一个不强制其实际元素具有唯一性的集合,和数组一样,但是和C++普通的数组又不太一样,和标准的数组不同当你创建Vector时,你不需要给他一个边界值,只需要把元素放进去就好了,你每放一个元素进去,这个数组大小会自动增长。接下来为我们看这段代码,先了解一下Vector是怎么使用的:
#include <iostream>
#include <string>
#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()
{//Vertex* vertices = new Vertex[5];//普通数组要确定大小std::vector<Vertex> vertices;vertices.push_back({1,2,3}); //加入元素vertices.push_back({ 4,5,6 });for (int i = 0; i < vertices.size(); i++)std::cout << vertices[i] << std::endl;vertices.erase(vertices.begin() + 1); //去除第二个元素for (Vertex& v : vertices) // 实际上是将vertex复制到这个for范围中,但是为了节约内存我们加了&引用std::cout << v << std::endl;std::cin.get();
}
上面的注释已经写的非常清楚了,就不赘述了。