c++lambda 赋值给结构变量
可以将lambda表达式赋值给结构体变量的成员变量,例如:
#include <iostream>
struct myStruct {
int x;
int y;
std::function<int(int, int)> add; // 成员变量是一个函数对象
};
int main() {
myStruct s = {
1,
2,
[](int a, int b) -> int { return a + b; } // lambda表达式作为add成员变量的值
};
std::cout << s.add(s.x, s.y) << std::endl; // 输出3
return 0;
}
在上面的例子中,我们定义了一个结构体myStruct,其中包含了两个整型成员变量x和y,以及一个函数对象成员变量add。在main()函数中,我们创建了一个myStruct类型的变量s,并在初始化时使用了一个lambda表达式赋值给了add成员变量。最后,我们调用了s.add(s.x, s.y),输出了3
原文地址: https://www.cveoy.top/t/topic/fEv2 著作权归作者所有。请勿转载和采集!