扫描二维码
随时随地手机看文章
语法糖
是一种让程序员使用更加便利的一种语法,并不会带来额外的功能,比如Lambda
,没有这种语法糖,其可以用已有的语法等价的实现出相应的功能。Lamdba
产生的意义,而缺乏编程经验的同学,跟着我一起来梳理下Lamdba
给我们带来了哪些便利性?Lambda
最多的场景是回调函数,先说说回调函数。在编程中回调函数
是一个常见的设计方式, 下图是一个常见的同步调用的回调函数:调用方
访问被调用方
的实现函数InvokeFunction
被调用方
访问调用方
的回调函数CallbackFunction
被调用方
使用调用方
指定的方法去实现内部的一个逻辑。常见的比如:被调用模块
使用调用模块
指定的方法完成其功能,比如常见的std::sort
被调用方
通过回调函数去通知调用模块
,去进行相应操作。回调函数
和函数对象
(仿函数
)。回调函数最常见的C和C 中都使用的函数指针
,我们以std::sort
为例。一个vector
容器中存储了若干的Student
信息,想要将这些学生信息根据年龄进行升序排序,于是可以调用std::sort
,并且使用自定义的函数StudentSortFunction
给sort
作为回调函数来完成排序。#include
#include
#include
struct Student
{
std::string m_strName;
unsigned int m_uAge;
};
void PrintStudentVector(const std::vector