在此例中,当调用f时,参数列表是空的。如果忽略返回类型,lambda根据函数体中的代码推断出返回类型。...quick", "red", "fox", "jumps","over", "the", "slow", "red", "turtle" };
bigger(svec, 4);
}
当我们混合使用隐式捕获和显示捕获时...,捕获列表中的第一个元素必须是一个&或=,此符号指定了默认捕获方式为引用或值
当混合使用隐式捕获和显示捕获时,显示捕获的变量必须使用与隐式捕获不同的方式。...即如果隐式不会是引用方式,则显示捕获命名变量必须采用值方式,因此不能在其名字前使用&.
类似的,如果隐式捕获采用的是值方式,则显示捕获命名的变量必须采用引用方式,即在名字前使用&。...但是如果我们将程序改写成看起来是等价的if语句,就会产生编译错误:
虽然这里没有发生错误,是因为版本问题,有些低版本编译器会出现问题,原因在于:
编译器推断这个版本的lambda返回类型为void