码迷,mamicode.com
首页 > 其他好文 > 详细

function object用法

时间:2014-07-22 22:51:36      阅读:209      评论:0      收藏:0      [点我收藏+]

标签:style   blog   color   os   io   for   

 1 // Generic findMax, with a function object, version #1
 2 // Precondition,  a.size() > 0
 3 #include <iostream>
 4 #include <vector>
 5 #include <string.h>
 6 using namespace std;
 7 
 8 template <class Object, class Comparator>
 9 const Object& findMax(const vector<Object> &arr, Comparator cmp)
10 {
11     int maxIndex = 0;
12     for(int i = 1; i < arr.size(); i++) {
13         if(cmp.isLessThan(arr[maxIndex], arr[i]))
14             maxIndex = i;
15     }
16     return arr[maxIndex];
17 }
18 
19 #include <functional>
20 template <class Object>
21 const Object& findMax(const vector<Object> &arr)
22 {
23     return findMax(arr, less<Object>() );
24 }
25 
26 class CaseInsensitiveCompare {
27     public:
28             bool isLessThan(const string &lhs, const string &rhs) const
29                 {return (stricmp(lhs.c_str(), rhs.c_str())< 0); }
30 };
31 
32 int main() 
33 {
34     vector<string> arr(3);
35     arr[0] = "ZEBRA"; arr[1] = "alligator"; arr[2] = "crocodile";
36     cout << findMax(arr, CaseInsensitiveCompare()) << endl;
37     //cout << findMax(arr) << endl;
38     return 0;
39 }
40 
41     
42             
43     
44     

function object用法,布布扣,bubuko.com

function object用法

标签:style   blog   color   os   io   for   

原文地址:http://www.cnblogs.com/dracohan/p/3855374.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!