国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

C++復(fù)習(xí)筆記--Lambda表達(dá)式

這篇具有很好參考價(jià)值的文章主要介紹了C++復(fù)習(xí)筆記--Lambda表達(dá)式。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問。

1--Lambda表達(dá)式

1-1--基本用法

① [] 用于捕獲變量,一般用于使用和修改外部的變量,可以為空;

② (int a, int b) 表示參數(shù)列表,可以省略;

③ -> int 定義返回類型,一般可以省略,讓編譯器自動(dòng)推斷;

④ auto f 表示將定義的 lambda 表達(dá)式賦值給對(duì)象 f,auto 用于自動(dòng)推斷類型;

基本用法如下:

#include <iostream>
 
int main(int argc, char *argv[]){

    auto f = [](int a, int b) -> int{
        return a + b;
    };

    std::cout << f(1, 2) << std::endl;
    return 0;
}

1-2--其余用法

① 使用和修改外部變量

通過捕獲變量來修改(引用傳遞)和使用外部變量:

#include <iostream>
 
int main(int argc, char *argv[]){

    int M = 10, N = 20;
    auto f = [&M, N](int a, int b){
        std::cout << "N:" << N << std::endl; // 使用外部變量
        M = 30; // 修改外部變量
        return a + b;
    };

    std::cout << f(1, 2) << std::endl;
    std::cout << "M: " << M << std::endl;
    return 0;
}

② 自定義變量

通過捕獲變量來自定義變量,無需出現(xiàn)在外部;

#include <iostream>
 
int main(int argc, char *argv[]){

    int M = 10, N = 20;
    auto f = [&M, N, c=3](int a, int b){
        std::cout << "N:" << N << std::endl; // 使用外部變量
        M = 30; // 修改外部變量
        return (a + b) * c;
    };

    std::cout << f(1, 2) << std::endl;
    std::cout << "M: " << M << std::endl;
    return 0;
}

2--參考

清晰易懂,現(xiàn)代C++最好用特性之一:Lambda表達(dá)式用法詳解文章來源地址http://www.zghlxwxcb.cn/news/detail-570194.html

到了這里,關(guān)于C++復(fù)習(xí)筆記--Lambda表達(dá)式的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【C++】Lambda表達(dá)式的使用

    【C++】Lambda表達(dá)式的使用

    例如: 了解Lambda的優(yōu)點(diǎn) 掌握Lambda表達(dá)式的使用 了解Lambda表達(dá)式的底層原理 Lambda表達(dá)式的語法 lambda表達(dá)式的底層實(shí)現(xiàn)涉及到閉包(Closure)的概念。閉包是一個(gè)函數(shù)對(duì)象,它可以捕獲外部作用域中的變量,并在其生命周期內(nèi)訪問和修改這些變量。lambda表達(dá)式的底層實(shí)現(xiàn)就是通

    2024年02月14日
    瀏覽(20)
  • 【C++】C++11——lambda表達(dá)式

    【C++】C++11——lambda表達(dá)式

    我們之前都是通過函數(shù)指針、仿函數(shù)的方式可以像函數(shù)使用的對(duì)象,在C++11之后,就有了Lambda表達(dá)式 為了實(shí)現(xiàn)一個(gè)比較算法, 都要重新去寫一個(gè)類,如果每次比較的邏輯不一樣,還要去實(shí)現(xiàn)多個(gè)類,特別是相同類的命名,看代碼的人就遭殃了,非常的煩,這些都非常地不方便

    2024年01月17日
    瀏覽(21)
  • C++的lambda表達(dá)式(匿名函數(shù))

    從C++11開始,C++也支持使用lambda表達(dá)式(匿名函數(shù))。Lambda表達(dá)式是一種便捷的方式,可以定義一個(gè)函數(shù)對(duì)象,而無需使用顯式的函數(shù)對(duì)象類型或函數(shù)指針語法。 C++中的 lambda表達(dá)式的基本語法如下: 其中各個(gè)部分的含義如下: capture list :用于指定所捕獲的外部變量列表???/p>

    2024年02月08日
    瀏覽(48)
  • C++ Lambda表達(dá)式的常見用法

    C++ Lambda表達(dá)式的常見用法

    ??我叫憶_恒心,一名喜歡書寫博客的在讀研究生?????。 如果覺得本文能幫到您, 麻煩點(diǎn)個(gè)贊 ??唄! 近期會(huì)不斷在專欄里進(jìn)行更新講解博客~~~ 有什么問題的小伙伴 歡迎留言提問歐,喜歡的小伙伴給個(gè)三連支持一下唄。?????? 作為C++11的新特性的Lambada表達(dá)式本身

    2024年01月16日
    瀏覽(37)
  • 【C++】C++11語法 ~ lambda 表達(dá)式

    【C++】C++11語法 ~ lambda 表達(dá)式

    (???(??? )??,我是 Scort 目前狀態(tài):大三非科班啃C++中 ??博客主頁:張小姐的貓~江湖背景 快上車??,握好方向盤跟我有一起打天下嘞! 送給自己的一句雞湯??: ??真正的大師永遠(yuǎn)懷著一顆學(xué)徒的心 作者水平很有限,如果發(fā)現(xiàn)錯(cuò)誤,可在評(píng)論區(qū)指正,感謝?? ????

    2024年01月20日
    瀏覽(63)
  • C++系列十:日常學(xué)習(xí)-Lambda表達(dá)式

    目錄 前言 必備理論知識(shí): 例子: 20230920 加 例如 對(duì)函數(shù)指針和指針函數(shù)補(bǔ)充: 有C#經(jīng)驗(yàn),使用起來,駕輕就熟。 就是語法糖。但是也要熟悉用法,才好眾享絲滑。 內(nèi)容參考: Chatjpt、文心一言 C++ lambda 表達(dá)式是一種功能強(qiáng)大的編程工具,它允許您在代碼中創(chuàng)建匿名函數(shù)或閉

    2024年02月08日
    瀏覽(19)
  • Learning C++ No.30 【lambda表達(dá)式實(shí)戰(zhàn)】

    Learning C++ No.30 【lambda表達(dá)式實(shí)戰(zhàn)】

    北京時(shí)間:2023/6/9/9:13,今天8:15起床,可能是最近課非常少,導(dǎo)致寫博客沒什么壓力,什么時(shí)間都能寫,導(dǎo)致7點(diǎn)起不來,哈哈哈,習(xí)慣睡懶覺了,但是問題不大,還在可控范圍內(nèi),并且就在前天下午,我們進(jìn)行了學(xué)校MySQL的期末考試,大一就學(xué)MySQL,我甚是想吐糟,實(shí)操題對(duì)于

    2024年02月08日
    瀏覽(31)
  • C++結(jié)合Lambda表達(dá)式在函數(shù)內(nèi)部實(shí)現(xiàn)遞歸

    C++結(jié)合Lambda表達(dá)式在函數(shù)內(nèi)部實(shí)現(xiàn)遞歸

    529. 掃雷游戲 已解答 中等 相關(guān)標(biāo)簽 相關(guān)企業(yè) 讓我們一起來玩掃雷游戲! 給你一個(gè)大小為? m x n ?二維字符矩陣? board ?,表示掃雷游戲的盤面,其中: \\\'M\\\' ?代表一個(gè)? 未挖出的 ?地雷, \\\'E\\\' ?代表一個(gè) ?未挖出的? 空方塊, \\\'B\\\' ? 代表沒有相鄰(上,下,左,右,和所有4個(gè)

    2024年02月21日
    瀏覽(20)
  • C++ lambda表達(dá)式函數(shù)遞歸調(diào)用簡(jiǎn)單寫法實(shí)現(xiàn)

    在C++11中,lambda表達(dá)式函數(shù)遞歸往往會(huì)帶上 functional 頭文件。書寫形式如下: 還有相對(duì)簡(jiǎn)單點(diǎn)的第二種寫法(C++14): 對(duì)于第二種, auto fib 的作用是為了在 lambda 表達(dá)式內(nèi)部能夠遞歸調(diào)用自身。在 C++14 中,lambda 表達(dá)式默認(rèn)是無法直接遞歸調(diào)用的,因?yàn)樵?lambda 內(nèi)部無法訪問到

    2024年02月15日
    瀏覽(29)
  • 【自學(xué)筆記】01Java基礎(chǔ)-08Java常用API:05正則表達(dá)式與Lambda表達(dá)式

    【自學(xué)筆記】01Java基礎(chǔ)-08Java常用API:05正則表達(dá)式與Lambda表達(dá)式

    記錄Java基礎(chǔ)-常用API-正則表達(dá)式與Lambda表達(dá)式的內(nèi)容。 正則表達(dá)式在線練習(xí)網(wǎng)站 正則表達(dá)式是一種強(qiáng)大的文本處理工具,它使用特殊的字符和模式來匹配、查找、替換或提取字符串中的特定內(nèi)容。 在Java中,正則表達(dá)式的功能主要通過 java.util.regex 包中的 Pattern 和 Matcher 類實(shí)

    2024年01月19日
    瀏覽(42)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包