真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

C++的lambda表達(dá)式是什么

這篇文章主要講解了“C++的lambda表達(dá)式是什么”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“C++的lambda表達(dá)式是什么”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)!專注于網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、微信小程序開發(fā)、集團企業(yè)網(wǎng)站建設(shè)等服務(wù)項目。為回饋新老客戶創(chuàng)新互聯(lián)還提供了玉泉街道免費建站歡迎大家使用!

前言:
  lambda是C++11新增的,因此對你的編譯器是有要求的。比如你用的是Visual Studio,那么版本要求是VS2011之后的。

1.lambda表達(dá)式是什么

??lambda是一種定義匿名函數(shù)對象的簡潔方式,可以接受參數(shù)、存儲狀態(tài)、返回值以及跨越多行。lambda表達(dá)式可提高C++編程速度和效率,推薦讀者盡可能使用它們。以下將舉例介紹到如何在for_each()、find_if()等STL算法中使用lambda表達(dá)式。

2.一元函數(shù)對應(yīng)的lambda表達(dá)式

與一元函數(shù)對應(yīng)的lambda表達(dá)式接受一個參數(shù),其定義如下:
[ ](Type paramName) {表達(dá)式}
也可按引用傳遞參數(shù):
[ ](Type& paramName) {表達(dá)式}
下面將展示如何在算法for_each()中使用lambda表達(dá)式來顯示STL容器的內(nèi)容:

#include #include #include using namespace std;int main(){
   
   
   
	vector  vecIntegers;for(int count=0; count<10; ++count)
		vecIntegers.push_back(count);
	cout<<"Displaying vector of integers using a lambda: "<

分析:這里的lambda表達(dá)式[ ](int& element){cout<

3.一元謂詞對應(yīng)的lambda表達(dá)式

一元謂詞是返回類型為bool類型的一元表達(dá)式。例如,下面的lambda表達(dá)式在Num為偶數(shù)時返回true:
[ ](int& Num){return ((Num%2)==0);}
下面演示在std::find_if()中使用上述lambda表達(dá)式找出集合中的偶數(shù):

#include #include #include using namespace std;int main(){
   
   
   
	vectorvecNums;
	vecNums.push_back(2);
	vecNums.push_back(13);
	vecNums.push_back(20);auto iEvenNum=find_if(vecNums.begin(),vecNums.end(),[](const int& Num){
   
   
   return ((Num%2)==0);}); //lambdaif(iEvenNum!=vecNums.end())
		cout<<"Number in collection is: "<<*iEvenNum<

分析:算法find_if()對指定范圍內(nèi)的每個元素調(diào)用該一元謂詞,如果該謂詞返回true,find_if()將返回一個指向相應(yīng)元素的迭代器,指出找到了一個滿足條件的元素。

感謝各位的閱讀,以上就是“C++的lambda表達(dá)式是什么”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對C++的lambda表達(dá)式是什么這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是創(chuàng)新互聯(lián),小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!


分享標(biāo)題:C++的lambda表達(dá)式是什么
文章起源:http://weahome.cn/article/picscg.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部