码迷,mamicode.com
首页 > 其他好文 > 详细

赋值操作符相关

时间:2016-08-09 20:32:41      阅读:120      评论:0      收藏:0      [点我收藏+]

标签:

1、赋值操作符的定义

Test& oprerator=(const Test& rhs);

注意:返回值类型必须为引用(一般返回值为*this)

如果不是返回引用,而是直接返回Test,那么从返回形参到实参中间又要继续调用赋值操作符=,这样会形成死循环,导致栈溢出,编译也不能通过

 

2、赋值操作符的调用

Test t1;
t1=t2; //赋值操作符



Test t3=t2; //复制构造函数
 

复制构造函数和赋值操作符的区别:

赋值运算符处理两个已有对象,即赋值前=两边的对象都是存在的;而复制构造函数是生成一个全新的对象,即调用复制构造函数之前=左边的对象不存在。

 

3、深拷贝和浅拷贝

当使用赋值操作符时,要注意对象中是否有指针变量。如果有,则要注意是进行深拷贝还是浅拷贝

赋值操作符相关

标签:

原文地址:http://www.cnblogs.com/qinm/p/5754333.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!