C++笔记-lambda表达式需要注意的地方
生活随笔
收集整理的這篇文章主要介紹了
C++笔记-lambda表达式需要注意的地方
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
目錄
?
基本概念
代碼與實(shí)例
?
基本概念
lambda表達(dá)式其實(shí)是函數(shù)式編程;
C++提供了浮動(dòng)代碼,也就是變量隨用隨定義;
lambda表達(dá)式:時(shí)候時(shí)候想用語句塊,就什么時(shí)候使用。
?
代碼與實(shí)例
如下面的代碼:
#include <iostream> using namespace std;int main() {auto funA = [](int a){a *= 100;cout << "The value is : " << a << endl;};funA(100);int valueA = 255;//[=]表示捕捉外部內(nèi)容auto funB = [=]{ return valueA; };valueA *= 2;cout << funB() << endl;//上面是浮動(dòng)代碼塊,lambda表達(dá)式的延遲調(diào)用,是不能改的,要改的需要如下操作int valueB = 300;auto funC = [&valueB] { return valueB; };valueB *= 10;cout << funC() << endl;return 0; }運(yùn)行截圖如下:
下面是有個(gè)很有意思的東西,能不能在lambda表達(dá)式里面,修改外部數(shù)據(jù)的值,如下:
看一下報(bào)錯(cuò)信息:
把源碼修改如下:
#include <iostream> using namespace std;int main() {int valueA = 100;auto fun = [=]() mutable{return valueA++;};cout << fun() << endl;return 0; }即可,運(yùn)行截圖如下:
總結(jié)
以上是生活随笔為你收集整理的C++笔记-lambda表达式需要注意的地方的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 前端笔记-thymeleaf获取及回显s
- 下一篇: QML工作笔记-2种输入框的使用(Tex