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

mre*_*555 0 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;
}
Run Code Online (Sandbox Code Playgroud)

Vit*_*meo 7

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

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

  • @ mreff555 OP =原始海报,在这种情况下你.您是否绝对相信Eclipse会在您的问题中为您的问题中的代码提供消息,而不是代码类似于您问题中的代码? (2认同)