CPP lambda表达式

其实一直有个疑问,就是lambda表达式捕获this变量的时候是不是引用传递。想用代码测试下是不是引用传递。生怕有拷贝构造函数啊!

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

发现输出3。看来是引用传递,也就是指针传递。

本质this就是个指针嘛。

stackoverflow上有个答案总结的很好了


文章作者: 张小飞
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 张小飞 !
 上一篇
Qt元对象(Meta-Object)系统 Qt元对象(Meta-Object)系统
反射 -在计算机科学中,反射是指计算机程序在运行时(Run time)可以访问、检测和修改它本身状态或行为的一种能力。[1]用比喻来说,反射就是程序在运行的时候能够“观察”并且修改自己的行为。 要注意术语“反射”和“内省”(type int
2020-06-27 张小飞
下一篇 
Linux安装系统出现错误failed to load ldlinux.c32 Linux安装系统出现错误failed to load ldlinux.c32
UltraISO 刻录映像时写入方式选择”RAW”
2020-06-27 张小飞
  目录