C++ 将某些数据放入std::vector的最佳方式是什么

C++ 将某些数据放入std::vector的最佳方式是什么,c++,c++11,vector,C++,C++11,Vector,我有一个函数需要std::vector中的数据,但我将它们作为不同的数据。所以我有这个代码: void UseData(int x, int y, int z) { std::vector<int> data; data.pushback(x); data.pushback(y); data.pushback(z); processData(data); } void UseData(int x,int y,int z) { st

我有一个函数需要std::vector中的数据,但我将它们作为不同的数据。所以我有这个代码:

void UseData(int x, int y, int z)
{
     std::vector<int> data;
     data.pushback(x);
     data.pushback(y);
     data.pushback(z);
     processData(data);
 }
void UseData(int x,int y,int z)
{
std::矢量数据;
数据回推(x);
数据回推(y);
数据回推(z);
过程数据(数据);
}

有没有更好的方法将数据放入std::vector中?

使用C++11,可以使用
std::initializer\u list

void UseData(int x, int y, int z) {
    std::vector<int> data {x,y,z};
    process(data);
}
void UseData(int x,int y,int z){
向量数据{x,y,z};
过程(数据);
}

IMO在推送任何数据之前,最好在向量中保留空间。这样,您就不必在每次向量添加元素时重新分配内存。