私のコードには、std::map
次のようなものがあります。
std::map<std::string, A*> myMap;
ここで、Aは私のカスタムクラスの1つです。
このように存在しないマップ要素にアクセスすると、次のoperator[]
ようになります。
std::string s("hello");
A* pA = myMap[s];
そのキーで新しい要素が作成されることは知っていますが、ポインターをNULLに初期化したいと思います。つまり、myMap[s]
存在する場合は、有効なポインタを返す必要があります。そうでない場合は、上記のコードの実行後にpAをNULLにします。
デフォルトでは、myMap[s]
終了しない場合、pAにはガベージが含まれますか?要素が終了しない場合にpAに値NULLが含まれるようにするにはどうすればよいですか?