簡(jiǎn)介: CSDN博客專(zhuān)家,專(zhuān)注Android/Linux系統(tǒng),分享多mic語(yǔ)音方案、音視頻、編解碼等技術(shù),與大家一起成長(zhǎng)!
優(yōu)質(zhì)專(zhuān)欄:Audio工程師進(jìn)階系列【原創(chuàng)干貨持續(xù)更新中……】??
人生格言: 人生從來(lái)沒(méi)有捷徑,只有行動(dòng)才是治療恐懼和懶惰的唯一良藥.
文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-516267.html
1.前言
本篇目的:理解C++ lambda函數(shù)調(diào)用形式。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-516267.html
2.應(yīng)用實(shí)例
#include <iostream>
using namespace std;
int main() {
//1.():無(wú)參數(shù);無(wú)返回值.(未調(diào)用)
[](){
printf("xxx----->%s(), line = %d\n",__FUNCTION__,__LINE__);
};
//2.():無(wú)參數(shù);無(wú)返回值.(直接調(diào)用)
[](){
printf("xxx----->%s(), line = %d\n",__FUNCTION__,__LINE__);
}();
//3.():參數(shù)為空,返回值為int.(直接調(diào)用)
[]()->int {
printf("xxx--------->%s, line = %d\n",__FUNCTION__,__LINE__);
return 10;
}();
//4.():參數(shù)為空,返回值為string.(直接調(diào)用)
[]()->string {
printf("xxx--------->%s, line = %d\n",__FUNCTION__,__LINE__);
return string("12345");
}();
//5.將lambda函數(shù)賦值給函數(shù)指針,由函數(shù)指針調(diào)用.傳入char*類(lèi)型參數(shù),返回值為string類(lèi)型.
auto func1 = [](char *arg)->string{
return static_cast<string>(arg);
};
string buf = func1((char*)"abcdefg");
printf("xxx--------->%s, line = %d, buf = %s\n",__FUNCTION__,__LINE__,buf.c_str());
return 0;
}
3.總結(jié)
1.定義形式
[](){ printf("xxx---->") };
2.調(diào)用形式
[](){ printf("xxx---->")}();
注意:調(diào)用形式比定義多了一個(gè)小括號(hào)。
到了這里,關(guān)于C++之lambda函數(shù)應(yīng)用(一百四十七)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!