有时用函数表示值更容易,而 lambda 很适合这样做。但是有没有办法从 lambda 声明中返回值呢?
例如:
int i = []{return 2;};
Run Code Online (Sandbox Code Playgroud)
产生错误。如何使 lambda 声明返回2而不添加任何新代码行?
我有一些变量和函数的基类以及多个子类。我想尽可能减少子类中所需的代码量。
我的代码示例:
#include <iostream>
class base{
public:
int a = 10;
int b;
void print()
{
std::cout << a <<std::endl;
}
};
class child: public base
{
public:
int a;
};
int main()
{
child ch;
ch.a = 20;
ch.print();
}
Run Code Online (Sandbox Code Playgroud)
由于打印了结果编号 10,这意味着使用了基类变量a,但我需要使用子类变量(如果存在)。所以这个例子的预期输出是 20。