各要素を反復処理するよりも、セットを別のセットに追加するより良い方法はありますか?
私が持っています :
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());
より効率的ではありませんが、コードは少なくなります。
bar.insert(foo.begin(), foo.end());
または、重複を効率的に処理する結合を取ります。 (該当する場合)
set<string> baz ;
set_union(foo.begin(), foo.end(),
bar.begin(), bar.end(),
inserter(baz, baz.begin()));