在类声明中的成员变量初始化期间使用lambda

时间:2016-10-19 09:57:31

标签: c++ c++11

为了便于阅读,我喜欢在类声明中使用初始成员变量。在初始化过程中我也很习惯使用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_ );

};

编辑:   作为bar :: bar(int index):index_(index){}比bar :: bar(int index){index_ = index;}更优化,无论上面的代码是执行得更好还是只是可读性。

0 个答案:

没有答案