@bit::Shadow
✧(≖ ◡ ≖✿
目录
生命周期
由于:"捕获"的本质是外部变量等等,所以要确保捕获内容随时可用的的话就要保证被捕获使用的元素的随时有效性。 // 别外部delete了内部还在使用,这就糟了
lambda使用
使用lambda式子设置当button按钮被点击时的信号,打印日志+窗口移动。
由于想要设置button位置需要捕捉成员button,所以在捕捉列表**[]内捕捉外部成员"button","()"内是为实现lambda表示功能而需要的新增的参数列表**。

lambda常用捕获
| 捕获方式 | 语法 | 含义 |
|---|---|---|
| 空捕获 | [] |
不捕获任何外部变量 |
| 值捕获(全部) | [=] |
以只读拷贝方式捕获所有使用到的外部变量 |
| 引用捕获(全部) | [&] |
以引用方式捕获所有使用到的外部变量 |
| 值捕获(指定) | [a, b] |
以只读拷贝 方式捕获变量 a 和 b |
| 引用捕获(指定) | [&a, &b] |
以引用 方式捕获变量 a 和 b |
| 混合捕获 | [=, &a] |
默认值捕获,但**a 例外用引用** |
| 混合捕获 | [&, a] |
默认引用捕获,但 a 例外用值 |
| 移动捕获(C++14) | [x = std::move(obj)] |
通过初始化捕获移动对象 |