最佳答案
如果在 lambda 中通过值捕获引用类型的变量,是复制被引用的对象还是通过引用捕获它?
有问题的小样本:
#include <iostream>
struct Test {
int a;
};
void testFunc(const Test &test) {
auto a = [=] {
// is 'test' passed to closure object as a copy
// or as a reference?
return test.a;
} ();
std::cout << a;
}
int main() {
Test test{1};
testFunc(test);
}