STL内建了一些函数对象。使用内建函数对象,需要引入头文件#include
#include <iostream>
#include <functional>
#include <vector>
#include <algorithm>
using namespace std;
int main(int argc, char *argv[])
{
//取反
negate<int> n;
//-10
cout<<n(10)<<endl;
plus<int> p;
//3
cout<<p(1,2)<<endl<<endl;
vector<int> v;
v.push_back(10);
v.push_back(30);
v.push_back(50);
v.push_back(20);
v.push_back(40);
// 使用内建的函数对象进行从大到小的排序
sort(v.begin(),v.end(),greater<int>());
for_each(v.begin(),v.end(),[](int val){cout<<val<<" ";});
cout<<endl;
return 0;
}