C++之使用对象前先初始化

主宰稳场 提交于 2019-12-05 15:23:53

1.内置类型

当需要使用一个int类型的变量时,我们应该先对其进行初始化,例如:

int x=0;

//.....    在后续中使用x变量

2.一个类里面的成员变量初始化

初始化类里面的成员变量时,尽量使用初始化列表对其进行初始化,例如:

class Forest

{

public:

Forest(const std::string str,int num);

private:

string m_forestName;

int  m_treeNum;

}

1)当用以下方式实现构造函数时,:

Forest(const std::string str,int num)

{

m_forestName=str;     //这属于赋值操作,而非初始化操作,初始化在进入到构造函数体之前已经被初始化

m_treeNum=num;

}

 

2)因此可以尽量使用初始化列表进行初始化,实现如下:

Forest(const std::string str,int num)

:m_forestName(str),       //这种属于初始化

m_treeNum(num)

{

}

第二种相对于第一种来说要高效一些,原因如下:

第一种首先调用default构造函数为m_forestName设初值,然后立刻再赋予新值;第二种在初始化列表中针对各个成员变量而设的实参,被拿去直接作为各成员变量的实参

 

 

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!