对于lambda,只要有返回值,且函数体包含一句语句以上时,其返回值的类型就无法由编译器自动推导,必须明确指定。
lambda的捕获表达式通过引用捕获,值捕获等捕获方式,lambda的函数体内可以捕获并使用lambda的外围中定义的局部变量以及类成员变量。
引用捕获int n = 1; [&](){ n++; // n==2 }(); // n==2值捕获int n = 1; [=]()mutable{ n++; // n==2 }(); ---来自腾讯云社区的---音视频_李超对于lambda,只要有返回值,且函数体包含一句语句以上时,其返回值的类型就无法由编译器自动推导,必须明确指定。
lambda的捕获表达式通过引用捕获,值捕获等捕获方式,lambda的函数体内可以捕获并使用lambda的外围中定义的局部变量以及类成员变量。
引用捕获int n = 1; [&](){ n++; // n==2 }(); // n==2值捕获int n = 1; [=]()mutable{ n++; // n==2 }(); ---来自腾讯云社区的---音视频_李超