Мне нужно вставить несколько элементов в std: :vector как копии элементов того же вектора, которые расположены позже вставленного места.
Итак, я написал следующую демонстрацию кода:
Код: Выделить всё
#include
#include
#include
int main()
{
{
std::vector v = { 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 };
v.reserve(2*v.size());
// Works just fine on both CLang and MSVC
v.insert(
v.begin() + 3,
v.begin() + 5,
v.end()
);
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/79217657/is-it-safe-to-insert-a-range-in-stdvector-if-its-source-is-at-the-tail-of-the[/url]
Мобильная версия