在类成员中初始化变量是不好的做法吗?

时间:2017-10-26 16:00:48

标签: c++ object-initializers

如果变量的预期范围是真正的本地范围,那么保持这种方式只对我有意义。这就是我一直以来所做的。但是我最近在工作时从vim切换到eclipse,如果构造函数中没有初始化每个成员变量,eclipse会标记我的构造函数。例如,在下面的代码中,它编译得很好。 g ++没问题。另一方面,Eclipse告诉我'a'应该在构造函数中初始化。

为什么这个警告可能相关或者是否值得忽视所有警告?

class C
{
public:
    C(){}
    ~C(){}
    void foo();
};

void C::foo()
{
    int a;
}

int main() {
    C c;
    return 0;
}

1 个答案:

答案 0 :(得分:7)

  另一方面,Eclipse告诉我' a'应该在构造函数中初始化。

a 无法在构造函数中初始化,因为它是成员函数C::foo()局部变量。 Eclipse正在给你一个虚假的警告。