设为首页 加入收藏

TOP

C++STL:仿函数
2015-11-21 01:04:28 来源: 作者: 【 】 浏览:1
Tags:STL 函数

C++仿函数应用实例

#include 
   
     #include 
    
      #include 
     
       using namespace std; template
      
        struct GT { GT (const T& a) : m_a(a) {} bool operator()(const T& left) { return left >= m_a; } T m_a; }; int main() { list
       
         iLst; iLst.push_back(12); iLst.push_back(178); iLst.push_back(200); list
        
         ::iterator iter = find_if(iLst.begin(), iLst.end(), GT
         
          (100)); if (iLst.end() != iter) { cout << "find" << endl; cout << *iter << endl; } else { cout << "not find" << endl; } return 0; }
         
        
       
      
     
    
   

函数指针调用与函数对象调用的等效性

#include <windows.h>
#include 
   
     #include 
    
      #include
      #include 
      
        #include 
       
         #include 
        
          using namespace std; //********************************************************* // 函数 //********************************************************* bool GreaterThan(int left, int right) { return left >= right; } typedef bool (*GreaterThanFuncPtrType)(int, int); //********************************************************* // 仿函数类 //********************************************************* template
         
           struct GT { bool operator()(const T& left, const T& right) const { return left >= right; } }; int main() { list
          
            iLst; iLst.push_back(10); iLst.push_back(110); iLst.push_back(120); //----------------------------------------------------- // 用函数指针调用 //----------------------------------------------------- GreaterThanFuncPtrType pGreaterThan = GreaterThan; list
           
            ::iterator iter = iLst.begin(); for(; iter != iLst.end(); ++iter) { cout << pGreaterThan(*iter, 100) << endl; } //----------------------------------------------------- // 用函数对象调用 //----------------------------------------------------- GT
            
              gt; iter = iLst.begin(); for(; iter != iLst.end(); ++iter) { cout << gt(*iter, 100) << endl; } return 0; }
            
           
          
         
        
       
      
    
   
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇PKU C++程序设计实习 学习笔记 下一篇URAL - 1792 Hamming Code(枚举)

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: