2016-12-29 3 views
0

Я нашел этот вопрос несколько раз, но ни один из них, кажется, не дает хорошего ответа (пожалуйста, отметьте как дубликат, если я пропустил его).Как преобразовать std :: vector <unsigned short> в std :: vector <int>?

У меня есть метод, который возвращает std::vector<unsigned short>, но я хочу разрешить большее число чисел, чем может содержать символ без знака, поэтому я хотел бы преобразовать его в std::vector<int>, прежде чем добавлять к нему свои большие числа.

Поэтому я хочу его преобразовать, сохраняя данные &. A std::vector<unsigned short>, который содержит [1, 2, 3], должен содержать [1, 2, 3] после того, как он был преобразован в std::vector<int>.

+1

Почему не с помощью конструктора диапазона? –

+0

@ EdgarRokyan Я сосать на C++, я не знаю, что это такое. Я рассмотрю его и вернусь к вам. – vrwim

+0

@EdgarRokyan да это то, что мне нужно. – vrwim

ответ

4

Просто построить std::vector<int> из std::vector<unsigned short>:

std::vector<unsigned short> org_vec; 

// ... 

std::vector<int> int_vec(std::begin(org_vec), std::end(org_vec)); 
Смежные вопросы