質問:
std::set の更新操作set は、インプレース変更 API がないため、面倒に思えます。現在、ユーザーは要素を見つけてコピーし、その値を更新し、元の要素を消去して、更新されたコピーを再挿入するという手段に頼っています。より効率的なアプローチはありますか、それともカスタム実装で std::set をオーバーライドする必要がありますか?
回答:
std::set は const イテレータを使用してその内容を維持します。秩序ある自然。通常のイテレータを許可すると、項目の値が変更され、順序が崩れる可能性があります。
したがって、セット内の項目を更新する慣用的な方法は、説明したものです。
現在の実装なので、独自の実装を作成して std::set をカスタマイズする必要はありませんこのアプローチは、このコンテナで更新を実行する標準的な方法とみなされます。
以上がstd::set 内の要素を更新するより効率的な方法はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。