初始化类成员中的变量是一种不好的做法吗?
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告诉我'a'应该在构造函数中初始化。
a
无法在构造函数中初始化,因为它是成员函数C::foo()
的局部变量。Eclipse正在给你一个虚假的警告。
相关文章:
- 有没有一种快速的方法可以将类的所有静态成员归零?
- C++中有没有一种方法可以通过指定列表中的每个成员变量来构造对象
- 常量静态成员函数:有另一种方法可用吗?
- 返回对私有向量成员元素的非常量引用是否是一种不好的做法
- 是否有一种方法可以始终通过值(制作副本)而不是在使用类成员函数时通过参考来传递
- 有没有一种通用方法来"unprotect"静态常量成员?
- 是否有一种方法可以将C 类成员引用到向量而不明确添加它们
- 是否有一种方法可以让公共成员在班级外部无法解码,而无需访问包装器功能
- 有没有一种方法可以使全局函数/静态成员函数一次可呼出
- 如果要调用多个成员函数,对象编辑器是否是一种好方法?
- 初始化类成员中的变量是一种不好的做法吗?
- 是STD :: Vector,由于其分配运算符移动其成员的位置,因此是一种非常规类型
- 有没有一种非重复的方法允许程序员在成员初始化的复制和移动语义之间进行选择
- 在cuda中使用静态成员函数模板结构的另一种方法
- 使用指针作为类成员是否是一种好的做法
- 类中向量成员的一种奇怪现象
- 提供类似的默认特殊成员函数是一种糟糕的做法
- C++为成员函数提供typedef模板的一种方法
- 在C++03中初始化成员的另一种方法
- 对所有成员函数和属性使用 "this" 是否是一种不良做法?