em C ++, tenho dois list<T>
objetos A
e B
e eu quero adicionar todos os membros B
até o final do A
. Pesquisei algumas fontes diferentes e não encontrei uma solução simples (ei A.append(B);
) e isso me surpreendeu um pouco.
Qual é a melhor maneira de fazer isso?
Acontece que não me importo com B depois disso (ele é excluído na linha seguinte), então, se houver uma maneira de alavancar isso para um melhor desempenho, também estou interessado nisso.
a.splice(a.end(), b)
ea.splice(a.end(), b, it_b_start)
, mas é O (n) paraa.splice(a.end(), b, it_b_start, it_b_end)
.um exemplo usando impulso
fonte