拷贝构造函数、赋值语句

来源:互联网 发布:微信网络用语大全 编辑:程序博客网 时间:2024/06/02 05:50

一、拷贝构造函数函数

     对象初始化对象的时候调动拷贝构造语句

1.隐式转化

2.整形给对象赋值,就要看通过整形值是否可以构造出一个临时对象,如果可以构造出对象,我们把这个对象成为无名临时对象,无名临时对象通过调动构造函数,构造对象,对象给对象赋值,实际是对象的数据成员给对象的数据成员赋值

3.引用:不会创建新的变量,只是给已经定义的变量起一个别名(引用的本质还是指针),基本数据类型的变量可以引用,指针变量也可以引用,数组也可以引用(注意数组名的引用是对数组里面的元素引用,不能对数组名引用,数组名是地址)

对常量引用必须常引用

对变量的常引用,是允许的,m不能改变,n可以改变

无名临时对象一般都有具有常性

4.创建对象的时候:参数是对象去初始化对象,也叫对象实例化对象调用拷贝构造函数

非引用传递的话Test(t(t(t(……..)))) 引用传递Test(&t);

拷贝构造函数的参数必须是引用,不然就会无限递归

调动的函数参数是对象,也会调动拷贝构造函数

调动的函数的返回值是对象的,也会调动拷贝构造函数

系统会把sum给一个临时的变量,这个临时无名变量参数会把值返回给函数,然后自己再由系统收回。

相当于临时变量再给value 赋值。

二、赋值语句

1.函数返回值的引用条件:引用的函数返回值受不受函数作用域的限定,不受作用域限定,就可以引用,并且不会调动拷贝构造函数(效率高)*this对象不受空间限制

原创粉丝点击