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函數的詳細使用


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM