2015-09-21 27 views
1

我有一个函数需要std :: 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); 
} 

有没有更好的方法把数据放在std :: vector中?

+1

IMO这将是一个好一点推动任何数据之前,在你的矢量,以便预留空间。这样,每次向量获取元素时,都不必重新分配内存。 – Logicrat

回答

3

用C++ 11,你可以用一个std::initializer_list

void UseData(int x, int y, int z) { 
    std::vector<int> data {x,y,z}; 
    process(data); 
} 
相关问题