【发布时间】:2012-11-29 16:41:41
【问题描述】:
我在我的代码中使用了一个映射 <BSTR,struct> bstr 作为键并构造了值。
这行得通还是我必须重新定义一些东西?
我没有发现任何编译问题,我也可以添加元素。但是,map.find() 不起作用。即使元素存在,它也总是返回map.end()(未找到元素)。
我做了一个临时解决方法如下 - 从map.begin() 循环到map.end() 并为每个元素执行 lstrcmpW。这似乎行得通,但不要认为这太有效了。
对可能出现的问题有任何建议/提示吗?可以使用BSTR 作为地图的键吗?我知道地图不支持某些非本地数据类型 - 结构或类......你需要为此定义一个 < 运算符。
【问题讨论】:
-
注意:bstr 是WINAPI 特有的东西,这里很多人不知道。我已经重新标记了。