联合容器的第三个参数
map 容器的第三个参数,即函数对象类型。
对第一个参数进行比较,重载 operator ()。这是第一种方案。
第二种方案,对第一个参数类型进行包装,然后针对这个类型重载 operator < 。
总结:
·第一个参数原装类型,添加第三个类型,函数对象,重载 operator () 。
·第一个参数对原类型进行包装,重载 operator < 。
参考:
为什么数据结构很重要
http://download.csdn.net/detail/yun_2106118/1768192
1 #include <iostream>
2 #include <map>
3 using namespace std;
4
5 struct ltstr
6 {
7 bool operator () (const char* s1, const char* s2) const
8 {
9 return strcmp(s1, s2) < 0;
10 }
11 };
12
13 int main()
14 {
15 map<const char*, const char*, ltstr> phones;
16 phones["Gao Jun"] = "23423423";
17 phones["Gao Jie"] = "89878979";
18
19 for (map<const char*, const char*, ltstr>::const_iterator cit = phones.begin(); cit != phones.end(); ++cit)
20 {
21 cout << cit->first << '\t' << cit->second << endl;
22 }
23
24 return 0;
25 }
posted on 2011-09-10 12:51
unixfy 阅读(249)
评论(0) 编辑 收藏 引用