使用STL的经验总结_指定关联容器的比较类型_12
来源:互联网 发布:游戏解说软件 编辑:程序博客网 时间:2024/05/21 20:28
资料出处:http://hi.baidu.com/szsupernan/item/486b3edc742d8ef593a97418
使用STL的经验总结_指定关联容器的比较类型_12
我们知道标准的关联容器是有序的如set,map,这个顺序是由关联容器声明时的比较类型决定的,比如一个包含int的set的默认类型是set<int,less<int>>,less<int>就是默认的比较类型,如果我们要改变set默认的排序方式,那么我们要自定义该比较类型。比如我们有个set<string*> setNames,存放了很多的人名,我们采用这样的方式插入setName.insert(new string("张三");这是setNames是以指针从小到大排序的,而我们希望通过人名的字符串的值排序,那么我们就要自己定义比较类型了。
自定义比较类型的方法:
请定义,此处我说的自定义比较类型,而不是比较函数,如果自定义一个比较函数,则是编译通不过的,也就是说我们要通过函数对象来定义比较类型。有关函数对象,可以参考以前的文章,就单纯针对setNames,我们可以如下定义比较类型,来满足我们的需求.
struct StringPtrLess:public binary_function<const string*,const string*,bool>
{
bool operator()(const string* ps1,conststring* ps2) const
{
return *ps1 < *ps2;
}
}
如果经常用到该比较函数,我们可以对其模板化
struct DefenceLess
{
template<typename T>
bool operator()(T ps1,T ps2) const
{
return *ps1<*ps2;
}
}
- 使用STL的经验总结_指定关联容器的比较类型_12
- 条款20:为指针的关联容器指定比较类型——effective STL
- Effective STL 为包含指针的关联容器指定比较类型
- effective stl: 第20条,为包含指针的关联容器指定比较类型
- Effective STL - 为指针的关联容器指定比较函数
- 为包含指针的关联容器指定比较类型
- 为指针的关联容器指定比较类型
- 为包含指针的关联容器指定比较类型
- 为指针的关联容器指定比较类型
- 为包含指针的关联容器指定比较类型
- STL关联容器的学习
- C++中防止STL中迭代器失效__map/set等关联容器vector/list/deque等序列容器_如何防止迭代器失效_即erase()的使用
- C++中防止STL中迭代器失效__map/set等关联容器vector/list/deque等序列容器_如何防止迭代器失效_即erase()的使用
- STL之关联容器(pair、map、set的使用)
- STL之关联容器(pair、map、set的使用)
- C++STL容器使用经验总结
- C++STL容器使用经验总结
- C++STL容器使用经验总结
- Head First 设计模式 Design Pattern 9-10 Iterator and Composite, State
- 李彦宏在南开大学的演讲
- 《Fundamentals of Project Management 4th Edition》 读书笔记 第九章 项目控制和评估
- 如何测试洗牌程序
- 一个合格的程序员应该读过哪些书
- 使用STL的经验总结_指定关联容器的比较类型_12
- Oracle EBS Advanced Pricing Tables
- ActiveMQ学习笔记
- 行测问题之汽车接送的问题
- 最新版 apache_2.2.11 与 apache-tomcat-6.0.18 集成方案
- HOJ 2201 Sum of Cubes
- Eclipse中SVN插件中英文互相转换方法
- 交叉编译用于android系统里的C/C++应用程序/库文件(其实就是运行于linux之上的应用程序)。
- 程序员面试题积累