In C ++ habe ich zwei list<T>
Objekte A
und B
möchte alle Mitglieder von B
am Ende von hinzufügen A
. Ich habe ein paar verschiedene Quellen durchsucht und keine einfache Lösung (ei A.append(B);
) gefunden, was mich ein wenig überrascht.
Was ist der beste Weg, dies zu tun?
Zufällig interessiert mich B danach nicht mehr (es wird in der nächsten Zeile gelöscht). Wenn es also eine Möglichkeit gibt, dies für eine bessere Leistung zu nutzen, interessiert mich das auch.
a.splice(a.end(), b)
unda.splice(a.end(), b, it_b_start)
, aber es ist O (n) füra.splice(a.end(), b, it_b_start, it_b_end)
.Ein Beispiel mit Boost
quelle