2015-09-21 30 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); 
} 
相關問題