2016-12-29 231 views
0

我已經發現了這個問題幾次,但他們都沒有提供一個很好的答案(如果我錯過了它,請標記爲重複)。如何將std :: vector <unsigned short>轉換爲std :: vector <int>?

我有一個方法返回一個std::vector<unsigned short>,但我想允許更多的數字比unsigned short可以容納,所以我想將它轉換爲std::vector<int>,然後再向它添加更大的數字。

所以我想轉換它,同時保持數據&訂單完好無損。包含[1, 2, 3]std::vector<unsigned short>在轉換爲std::vector<int>後應包含[1, 2, 3]

+1

爲什麼不使用範圍構造? –

+0

@EdgarRokyan我吮吸C++,我不知道那是什麼。我會研究它並回復你。 – vrwim

+0

@EdgarRokyan是的,這是我需要的。 – vrwim

回答

4

只是構建從std::vector<unsigned short>std::vector<int>

std::vector<unsigned short> org_vec; 

// ... 

std::vector<int> int_vec(std::begin(org_vec), std::end(org_vec)); 
相關問題