#include<iostream>//stdvector 的优化使用
#include<string>
#include<vector>
//创建一个vector ,然后开始puh_back 元素,也就是向数组中添加元素
//避免复制对象,如果处理的是vector,特别是基于vector的对象
struct Vertex
{
float x, y, z;
Vertex(float x, float y, float z)
:x(x),y(y),z(z)
{
}
Vertex(const Vertex& vertex)
:x(vertex.x),y(vertex.y),z(vertex.z)
{
std::cout << "Copied" << std::endl;
}
};
int main()
{
std::vector<Vertex>vertices;//错误的构造函数std::vector<Vertex>vertices(3);
vertices.reserve(3);//构造vertex对象
//vertices.push_back(Vertex{ 1,2,3 });
// vertices.push_back(Vertex{ 4,5,6 });
// vertices.push_back(Vertex{ 7,8,9 });
//使用emplace并不是传递已经构建vertex对象
//只是传递了构造函数的参数列表
vertices.emplace_back(1,2,3 );
vertices.emplace_back(4,5,6 );
vertices.emplace_back(7,8,9 );
//并没有复制这个vertex
std::cin.get();
}
c++ stdvector 的优化使用简介
最新推荐文章于 2024-11-12 15:18:48 发布