私は C++ の Windows COM でプログラムを作成しておりCComPtr、スマート ポインターに使用しています。
答えが見つからない質問CComPtrは、.内で使用できますかstd::map.
次のコードフラグメントがあります(簡略化):
std::map<int, CComPtr<IErrorInfo> > ErrorMap;
ints とIErrorInfoエラー情報の間でこのマッピングを維持したいと考えています。
ただし、次のことができるかどうかはわかりません。
CComPtr<IErrorInfo> result;
GetErrorInfo(0, &pErrInfo);
ErrorMap.insert(std::make_pair(0, result));
スマート ポインターの所有権について心配しています。破棄resultされたときに正しく解放されるかどうか。ErrorMap