5
std :: mapの値をstd :: setにディープコピーすることは可能ですか?std :: mapをstd :: setをC++にコピー
明示的に新しいセットに挿入したくありません。
私はは、明示的にこれを行うにはしたくない:
std::map<int, double*> myMap; //filled with something
std::set<double*> mySet;
for (std::map<int, double*>::iterator iter = myMap.begin(); iter!=myMap.end(); ++iter)
{
mySet.insert(iter->second);
}
が、これを行うために、よりcoinciseかつエレガントな方法を見つけ、値のディープコピーで。
コードを追加してください。あなたは 'map'の' key_type'か 'value_type'をコピーしようとしていますか? – dirkgently
重複がある場合はどうなりますか?代わりに 'multiset'を使用するべきですか? –
重複はなく、存在する場合は重要ではありません。 – linello