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

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设初值,然后立刻再赋予新值;第二种在初始化列表中针对各个成员变量而设的实参,被拿去直接作为各成员变量的实参

 

 

posted @ 2019-11-25 21:54  肃肃  阅读(398)  评论(0编辑  收藏  举报