我需要使用VARIANT类创建CMap s的字典集合。我的字典定义如下:
CMap<CString, LPCTSTR, CComVariant, CComVariant> map;
然后我添加元素:
void setKeyValue(CMap<CString, LPCTSTR, CComVariant, CComVariant>& map, CString& strKey, VARIANT& varValue)
{
map.SetAt(strKey, varValue);
}
有人可以检查这是否是使用VARIANT填充CMap的正确方法?我有一段时间没有完成COM所以我想确保我没有造成任何内存泄漏。谢谢!
答案 0 :(得分:1)
这将有效并且是正确的。
重要的是使用支持正确复制和销毁变体的CComVariant或_variant_t类型。
但是你为什么不使用std :: map