CPP lambda表示式

張小飛WPS發表於2020-10-14

其實一直有個疑問,就是lambda表示式捕獲this變數的時候是不是引用傳遞。想用程式碼測試下是不是引用傳遞。生怕有拷貝建構函式啊!

    m_test1 = 1;  //成員便來嗯
    auto fTest = [this]()
    {
        this->m_test1 = 3;
    };
    fTest();
    qDebug()<<this->m_test1<<endl;

發現輸出3。看來是引用傳遞,也就是指標傳遞。

本質this就是個指標嘛。

stackoverflow上有個答案總結的很好了

  • https://stackoverflow.com/questions/16323032/why-cant-i-capture-this-by-reference-this-in-lambda

相關文章