追加设置到另一个集合

有没有更好的方法来追加一套到另一套比遍历每个元素?

我有 :

set<string> foo ; set<string> bar ; ..... for (set<string>::const_iterator p = foo.begin( );p != foo.end( ); ++p) bar.insert(*p); 

有没有更有效的方法来做到这一点?

你可以插入一个范围:

 bar.insert(foo.begin(), foo.end()); 

这不是一个更高效,但更less的代码。

 bar.insert(foo.begin(), foo.end()); 

或采取与重复有效交易的联盟。 (如果适用)

 set<string> baz ; set_union(foo.begin(), foo.end(), bar.begin(), bar.end(), inserter(baz, baz.begin()));