を持っています
unordered_map<string, list<SomeClass>::iterator>
このマップに要素を挿入したいのですが、まだ存在しない場合に限ります。存在する場合、既存のアイテムを上書きしたくありません。また、アイテムが存在するかどうかを確認してから挿入するための 2 つのルックアップを回避したいと考えています。operator[] を使用してキーを持つ要素を取得し、有効かどうかを確認し、有効でない場合は初期化する必要があるという結論に達しました。問題は、要素が反復子であり、初期化されているかどうかを確認する必要があることですが、これは実際には不可能です。リスト反復子クラスから派生したクラスを使用し、デフォルト コンストラクターを実装してそれを「無効な」値に初期化できますが、コンストラクターでは、リスト インスタンスにアクセスして end() 反復子を取得することはできません。それを行う方法はありますか?