C++ lambda 种成员变量
C++ lambda 类成员变量
有一个类的成员函数,需要用到循环。
这里
do
{
B b;
if(!b.check())
{
break;
}
}while(true)
每次要多检查个while里的true。
其实,完全可以把
B b;
if(!b.check())
{
break;
}
这段代码写成一个函数,比如叫
但是,这么短一段代码,我不想单独写个函数,所以我想到了lambda表达式。但是我写了一下,说是类A的成员变量没有定义,请问这个要怎么写?
------解决方案--------------------
lambda
while([]{
B b;
return b.check();
})
{
}
有一个类的成员函数,需要用到循环。
class B;
class A
{
public:
void Print()
{
do
{
B b;
if(!b.check())
{
break;
}
}while(true)
}
}
这里
do
{
B b;
if(!b.check())
{
break;
}
}while(true)
每次要多检查个while里的true。
其实,完全可以把
B b;
if(!b.check())
{
break;
}
这段代码写成一个函数,比如叫
bool NoName()
{
B b;
return b.check();
}
while(NoName())
{}
但是,这么短一段代码,我不想单独写个函数,所以我想到了lambda表达式。但是我写了一下,说是类A的成员变量没有定义,请问这个要怎么写?
------解决方案--------------------
lambda
while([]{
B b;
return b.check();
})
{
}