Скотт Мейерс пишет об этом конкретном предмете в " Effective STL ", в пункте 5 (и упоминает splice
в пункте 4). Он предпочитает версию ybungalobill, но в основном потому, что считает код более понятным и понятным, поскольку в нем подчеркивается слово «вставка», а не слово «копия».
Почти все случаи использования std::copy
, в которых используется итератор (например, back_inserter
), могут быть заменены вызовами функций-членов диапазона (например, .insert(position, begin, end)
).
splice
- функция-член с постоянным временем, поэтому она будет быстрее, если она будет применима в данном конкретном случае.