7-4 无状态的lambda表达式

7.4 无状态的lambda表达式

​ 无状态的lambda表达式指的是不捕获任何变量的lambda表达式。这种表达式可以被隐式地转换成函数指针。

void f(void(*)()) {}
void g() { f([]{});}

void f(void(&)()){}
void g() { f(*[]{});}

下面是具体的例子,使用lambda表达式实现了回调函数的作用:

void f(void(*p)())
{
p();
}

void g()
{
f([] { std::cout << "Hello, world!" << std::endl; });
}