你能解释一下L这种背景下的哪种类型.换句话说,我可以使用什么类型的auto关键字?
int main(){
int x=0;
auto L = [x] (int y)->bool{
return x>y;
};
return 0;
}
Run Code Online (Sandbox Code Playgroud)
在C++ 11中没有什么可以使用,而不是auto在这种情况下,这意味着完全相同的类型.那是因为每个lambda表达式的类型是唯一的,未命名的类型.引用C++ 11 5.1.2/3:
的类型的λ-表达(这也是封闭的对象的类型)是一个独特的,无名不愈合类类型-称为闭合类型 -其特性如下所述....
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |