Давайте возьмем неподписанный int в качестве примера. Итак, я хочу добавить неподписанный int к std::vector<char>
так что следующие четыре байта вектора будут заполнены четырьмя байтами uint.
Теперь я хотел бы сделать это, используя ответ Sharptooth Вот но у меня есть два вопроса:
end
итератор указывает на.end
итератор увеличивается при копировании в вектор с помощью memcpy
которая не является векторной функцией. Если ответ 2 отрицательный, какой метод вы бы порекомендовали как лучший способ выполнить эту задачу. Другие ответы в упомянутой ссылке относятся к добавлению в начало вектора.
Вопрос касается и других POD.
Корректировка ответа вы связали:
myVector.insert(myVector.end(), begin_binary(num), end_binary(num));
Где функции начала и конца просто приводят значение, которое вы хотите вставить. Делая это таким образом, вы увеличиваете размер вектора (и его емкость, если необходимо).
1,2
std::copy(begin_binary(num), end_binary(num), std::back_inserter(my_vector));
STL автоматически управляет размером вектора при вставке новых элементов.