私はC++でWindows COMにプログラムを書いていますが、スマートポインタにはCComPtr
を使用しています。std :: mapの内部でCComPtrを使用できますか?
答えが見つからない質問はをstd::map
の中に入れてもいいですか?
std::map<int, CComPtr<IErrorInfo> > ErrorMap;
私はint
IErrorInfo
s及びエラーに関する情報との間のこのマッピングを維持したい:
Iは、次のコード断片(簡略化)を有します。
しかし、私は、私は次の操作を行うことができるかどうかわからない:
CComPtr<IErrorInfo> result;
GetErrorInfo(0, &pErrInfo);
ErrorMap.insert(std::make_pair(0, result));
私はresult
スマートポインタの所有権を懸念だとErrorMap
が破壊ますとき、それは正しく解放れますか?
CopyConstructibleの要件では、もはや 'operator&'は通常の方法で動作する必要がないので、これを行う必要はありません。 –