c lambda 捕獲成員變數

2021-06-29 15:07:22 字數 425 閱讀 3794

void func(vectorvint)

);}

昨天寫**的時候寫了類似如上的一段**,這段**編譯未通過,報錯原因是this指標不可以隱式宣告。

後來嘗試在方括號中填寫成員變數,比如[this->m_sum](const int& num),依然報錯。

後來查閱資料,找到了這段**的正確寫法如下:

void func(vectorvint)

);}

在方括號中宣告this就可以在lambda表示式中使用成員函式了。另外也可以通過隱式宣告使用成員變數:
void func(vectorvint)

);}

這種方式可以隱式引用成員變數,在lambda表示式中呼叫成員變數的引用改變成員變數的值。

c lambda表示式捕獲變數引數

不捕獲任何變數 捕獲外部作用域中所有變數,並作為引用在函式體重使用 捕獲外部作用域中所有變數,並作為副本在函式體重使用 foo 捕獲外部作用域中所有變數,並作為副本在函式體重使用,對於foo按引用捕獲 foo 當作副本捕獲foo,不引入其他變數 this 捕獲當前類中的this指標,讓lambda表...

const 成員變數

class mytestclass public const int m ciint const string m csstr static int m siint static string m ssstr const static int m csiint const static string...

BigDecimal成員變數

round half up 遇到.5的情況時往上近似,例 1.5 2 round half down 遇到.5的情況時往下近似,例 1.5 1 bigdecimal a new bigdecimal 1.5 system.out.println down a.setscale 0,bigdecima...