-5

考虑以下示例,

类.h

class Aclass()
{
private: 
   int something;
   double nothing;
};

类.cpp

#include "Aclass.h"

Aclass::Aclass (int x) {
    something = x;
    nothing = y;
}
//Write some functions to manipulate x and y.

那么现在,如果我跳过构造函数中的初始化有什么区别y?有什么缺点以及它如何影响代码的其余部分?这是编码的好方法吗?我所知道的是,无论是否初始化,或者即使两者都没有(默认构造函数),构造函数都会创建一个对象,并且构造函数用于创建通用对象xy

4

2 回答 2

4

如果没有理由初始化变量,则不需要此变量
=> 完全删除它。说真的,未初始化的 var 对...有好处吗?没有什么。(仅用于初始化它)。

如果您打算稍后在使用它之前对其进行初始化:
您能否保证它会在第一次读取之前获得一个值,而与调用类方法的频率和顺序无关?那么它不是“错误的”,而是与其繁琐地检查它(并且因为它很复杂而冒着错误的风险),而是在构造函数中给它一个值要容易得多。

不,故意让它变得更复杂并不是一个好的编码方式。

于 2015-07-02T11:57:26.440 回答
0

保留任何未初始化的变量将允许它获取一些垃圾值。

结果 =未定义的行为。而且它没有优点。

于 2015-07-02T14:37:40.683 回答