C++ lambda函数及其用法(转)

由于接触C++不久,很多东西比较陌生,今天看阿里云OSS的C++ SDK文件下载部分例子,发现有如下lambda表达式用法,故了解一下相关知识

/*获取文件到本地文件*/
GetObjectRequest request(BucketName, ObjectName);
request.setResponseStreamFactory([
=]() {return std::make_shared<std::fstream>(FileNametoSave, std::ios_base::out | std::ios_base::in | std::ios_base::trunc| std::ios_base::binary); }); auto outcome = client.GetObject(request);

上面代码中 setResponseStreamFactory 函数的参数是一个lambda匿名函数,其作用相当于一个函数指针,返回值为一个fstream类型的智能指针shared_ptr

参考文章:

1、初窥c++11:lambda函数及其用法

2、C++11 之 lambda函数的详细使用

posted @ 2020-01-19 14:50  jixhua  阅读(1962)  评论(0编辑  收藏  举报