в C ++ у меня есть два list<T>
объекта, A
и B
я хочу добавить все члены B
в конец A
. Я искал несколько разных источников и не нашел простого решения (ei A.append(B);
), и это меня немного удивляет.
Как лучше всего это сделать?
Так получилось, что после этого меня не волнует B (он удаляется в следующей строке), поэтому, если есть способ использовать это для улучшения производительности, меня это тоже интересует.
a.splice(a.end(), b)
иa.splice(a.end(), b, it_b_start)
, но O (n) дляa.splice(a.end(), b, it_b_start, it_b_end)
.один пример с использованием ускорения
std::list<T> A; // object A is a list containing T structure std::list<T> B; // object B is a list containing T structure // append list B to list A BOOST_FOREACH(auto &listElement, B) { A.push_back( listElement ); }
источник