c++11 lambda 与stl 仿函数

#include 
#include 
#include 
using namespace std;

typedef std::vectorCVectAges;
//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;
}

 

你可能感兴趣的:(c++11新特性,c++17)