Existe-t-il une meilleure façon d'ajouter un ensemble à un autre ensemble que d'itérer à travers chaque élément?
j'ai :
set<string> foo ;
set<string> bar ;
.....
for (set<string>::const_iterator p = foo.begin( );p != foo.end( ); ++p)
bar.insert(*p);
Existe-t-il un moyen plus efficace de procéder?
Vous pouvez insérer une plage:
bar.insert(foo.begin(), foo.end());
Ce n'est pas un code plus efficace mais moins.
bar.insert(foo.begin(), foo.end());
Ou prenez le syndicat qui traite efficacement les doublons. (le cas échéant)
set<string> baz ;
set_union(foo.begin(), foo.end(),
bar.begin(), bar.end(),
inserter(baz, baz.begin()));