Lambda 表达式(lambda expression)是一个匿名函数,Lambda表达式基于数学中的λ演算得名,直接对应于其中的lambda抽象(lambda abstraction),是一个匿名函数,即没有函数名的函数。
// lambda expression [] {};?
_____________________________________________________________________________?
int main()
{
?? ?[] {}; ?//最简单的Lambda 表达式
?? ?return ?0;
}
____________________________________________________________________________
?
#include<iostream>
#include<thread>
using namespace std;
void functionParameters( int (*cmp)(int,int))
{
?? ?cmp(10, 23);
}
?
int main()
{
?? ?
?? ?functionParameters([](int a, int b) {
?? ??? ?cout << "在这里比较大小!\n";
?? ??? ?return 0;?? ??? ?
?? ??? ?});
?? ??
?? ?std::thread myThread([]() {
?? ??? ?cout << "执行线程代码!\n";
?? ??? ?});
?? ?myThread.join();
}
class background_task
{
public:
inline void operator()()const
{
do_something();
do_something_else();
}
inline void do_something()const
{
cout << "1\n";
}
inline void do_something_else()const
{
cout << "2\n";
}
};
int main()
{
background_task f;
std::thread myThread(f);
myThread.join();
}