c++11 lambda 與stl 仿函數

#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;

typedef std::vector<int>CVectAges;
//c++11  lambda 與stl 仿函數 

int main()
{
	CVectAges tmp;
	for (int n = 0; n < 10; n++)
	{
		tmp.push_back(10 + n);
	}

	auto aFunAscCmp = [] (int nValue1, int nValue2) ->bool {
	
		return nValue1 > nValue2;
	};

	std::sort(tmp.begin(), tmp.end(), aFunAscCmp);

	std::sort(tmp.begin(), tmp.end(),
		[=](int nValue1, int nValue2) ->bool {
		return nValue1 < nValue2;
	});

    //[] 值捕捉  默認可以省略'='  [=]
	std::sort(tmp.begin(), tmp.end(),
		[](int nValue1, int nValue2) ->bool {
		return nValue1 < nValue2;
	});

	std::for_each(tmp.begin(), tmp.end(), [=](int n) {

		std::cout << "out_put :" << n << "\n";

	});


	return 0;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章