由于接触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函数的详细使用

相关文章:

  • 2021-12-18
  • 2021-09-19
  • 2021-11-13
  • 2021-08-18
  • 2021-11-24
  • 2022-12-23
  • 2021-12-28
  • 2021-08-10
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-06-17
  • 2022-12-23
  • 2021-12-28
  • 2021-11-15
  • 2022-12-23
相关资源
相似解决方案