map内部使用红黑树实现,因此可以实现极为快速的查找。可以利用map键值的惟一性将要去重的对象作为键值插入到map中,插入失败时即为重复值,不过对象要满足“严格弱排序”。一般要对象及对象中的属性对象的“<”操作符进行重载,重载的“<”操作应满足“严格弱排序”。map并不是用“==”操作符来判断两个对象是否相等的,而是两个对象相互都不“小于”时认为两个对象相等。
返回值格式:
typedef std::map<CStringW,CComBSTR> mapFilter;
mapFilter mapFilterInstance;
std::pair<mapFilter::iterator, bool> pairRet;
pairRet = mapFilterInstance.insert(std::make_pair(CStringW(bsFileName),bsFileName));
if (false == pairRet.second)
{
......
}