为了便于阅读,我喜欢在类声明中使用初始成员变量.在初始化过程中我也很习惯使用lambda(参见片段).我的问题是在成员函数的声明中使用这样的lambda函数有什么优点或缺点.
class foo
{
private:
int index_ = 5;
int value_ = [](int index)
{
int result = 0;
for( int i = 0;i <index; i++)
result += i;
return result;
}(index_ );
};
Run Code Online (Sandbox Code Playgroud)
编辑:as bar :: bar(int index):index_(index){}比bar :: bar(int index){index_ = index;}更优化,无论上面的代码表现更好还是只是可读性.