标签:内存 复制构造函数 空间 加油 派生类 行数据 拷贝构造 显示 可读性
一。为什么初始化列表比构造函数效率更高?
1.因为C++规定数据成员的初始化发生在进入构造函数体之前,所以数据成员会先进行默认构造函数,然后进行复制构造函数进行赋值
2.所以使用初始化列表进行初始化不用进行数据成员的默认构造函数,所以更加高效
3.必须使用初始化列表:const成员,引用成员,初始化的成员是对象(需要显示的调用构造函数)
二。new[],delete[]都会调用每个元素的构造析构函数,new和delete只会调用一个
三.类继承的优缺点?
优:在编译时静态定义,可以直接使用,可以方便的改变父类的定义,可以少些很多代码。
缺:改变父类就会影响子类,灵活性不高
四。引用作为函数参数的特点
1.传递引用给函数与传递指针的效果是一样的,这时,被调用函数的形参就是原主调函数的实参变量的别名,所以在被调函数中对象参变量的操作就是对其相应的目标对象的操作
2.引用作为形参,并没有在内存中产生实参的副本,他是直接对实参操作,而使用一般变量传递的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本,如果传递的是对象,还将调用拷贝构造函数,因此当参数传递的数据较大时,用引用比用一般变量效率和空间更加好
3.使用指针可以达到和引用相同的效果,但是*p,p的交替使用使的程序可读性较差,更加容易出错,引用更加清晰容易。
五.引用与多态关系?
应用是除指针外另外一个可以产生多态效果的手段,这意味着,一个基类的引用可以指向它的派生类实例
例:calss a; class b:public class a; b x; a &y=x。
加油吧少年
标签:内存 复制构造函数 空间 加油 派生类 行数据 拷贝构造 显示 可读性
原文地址:http://www.cnblogs.com/jijiji/p/7768218.html