объединить вектор в существующий вектор

В C ++,учитывая vector src, dst , оба уже отсортированы, существует ли более эффективный способ объединить содержимое src в dst ] чем

size_t n = dst.size();
dst.insert(dst.end(), src.begin(), src.end());
std::inplace_merge(dst.begin(), dst.begin() + n, dst.end());

? В случае, который меня интересует, T представляет собой небольшую (12-16 байтов, в зависимости от ABI) структуру POD, но каждый вектор содержит миллионы элементов, поэтому общий объем используемой памяти составляет от десятков до сотен. мегабайт.

10
задан zwol 28 August 2012 в 01:32
поделиться