关联容器--保存指针时要指定容器的比较类型---引用Effective STL

无论何时你建立指针的关联容器,注意你也得指定容器的比较类型。大多数时候,你的比较类型只是解引用指针并比较所指向的对象(就像上面的StringPtrLess做的那样)。鉴于这种情况,你手头最好也能有一个用于那种比较的仿函数模板。像这样

 1 struct DereferenceLess 
 2 {
 3     template <typename PtrType>
 4     bool operator()(PtrType pT1, PtrType pT2) const // 参数是值传递的,
 5     { 
 6         return *pT1 < *pT2;
 7     }
 8 }; 
 9 
10 set<string*, DereferenceLess> ssp; // 行为就像 

 

posted @ 2016-12-30 14:40  风的哀伤  阅读(138)  评论(0编辑  收藏  举报