函数指针是将一个函数赋值给一个变量的方法
我们使用函数的方法,可能会给函数传入参数,或者传入参数,函数可能有返回值,也可能没有返回值(void)
下面这个例子,我们调用了HelloWorld函数
auto关键字可以方便地帮助我们声明一个变量,或者当数据类型过长时,auto关键字是一个不错的选择。
那么
问:在上面那个例子中我们是否可以将HelloWorld函数赋值给auto声明的变量呢?
即auto function = HelloWorld();
答:不能!因为HelloWorld()函数没有返回值,返回值是void
但是我们可以这样:
auto function = &HelloWorld;
这样我们就得到了函数的地址(不加引用&就是函数指针)
lambda本质上就是一个普通函数,只是它不像普通函数这样作声明,它是我们的代码在过程中生成的,用完即丢的函数,是匿名函数。