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

标签 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;
}

最佳答案

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

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

关于c++ - 在类成员中初始化变量是不好的做法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46958874/

相关文章:

c++ - 如何使用 asm Hook C++ 函数

c++ - 私有(private)成员(member)和免费功能的 Doxygen 评论?

c++ - 你为什么要将 operator `new` 设为私有(private)?

c++ - 在 C++ 中,以这种方式包括有问题吗?

c# - 从对象初始值设定项访问属性

c - 当初始值设定项多于数组大小时的行为是什么?

c++ - 通过 C++ 模板元编程从数组名称推导数组维度

python - 使用昂贵的初始化优化 multiprocessing.Pool

c# - 如何编写支持对象初始值设定项的自定义 DynamicObject 类

C# 对象初始值设定项 : Set Property from another one