【C++】[](){}与[]{}()

在学习时,忽然看见示例中出现了[](){}[]{}()两种 lambda 表达式的用法
突然对[]{}()这种用法感到费解
经查阅,前者[](){}是标准的 lambda 表达式用法
而后者[]{}()则是 lambda 的简写版+调用,即省略了用于参数传入的(),并在构建完匿名函数后直接调用了自己
例如:

int c = [](int n){
    
    
	return [n](int x){
    
     
		return n + x;
	}(1);
};
a = c(2);

int c = [](int n){
    
    
	return [n]{
    
     
		return 1;
	}();
}(2);

猜你喜欢

转载自blog.csdn.net/qq_43557907/article/details/125667737
C++