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

Is it bad practice to initialize variables in class members?

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

是否有任何理由说明此警告可能是相关的,或者是否值得一并忽略?

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

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

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

Eclipse on the other hand tells me that 'a' should be initialized in the constructor.

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