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