باید قبل از copy به اندازه ای که نیاز هست ریسایز هم بکنید .
std::vector <int> dst(src.size());//inkhat
std::copy(src.begin(), src.end(), dst.begin());
ضمنا جاهایی که می خواهید عنصر با مقدار اضافه کنید به set یا وکتور و ... استفاده از emplace بهینه تر و بهتر از insert هست .(آیتم 18 کتاب effective modern c++)