2016-12-29 221 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)); 
相关问题