拷贝和赋值的区别
2017-08-10 11:48
99 查看
//对于拷贝和赋值很容易混淆的一个问题
例如:
string str1 = "hello world";
string str2 = str1;
不要以为有“=”就是赋值操作,其实,这两条语句等价于:
string str1 ("hello world"); //调用的是构造函数
string str2 (str1); //调用的是拷贝构造函数
如果str2是下面的这样情况:
1.string str2; //调用参数默认为空串的构造函数:string str2(“”);
2.str2 = str1; //调用str2的赋值操作:str2.operator=(str1);
例如:
string str1 = "hello world";
string str2 = str1;
不要以为有“=”就是赋值操作,其实,这两条语句等价于:
string str1 ("hello world"); //调用的是构造函数
string str2 (str1); //调用的是拷贝构造函数
如果str2是下面的这样情况:
1.string str2; //调用参数默认为空串的构造函数:string str2(“”);
2.str2 = str1; //调用str2的赋值操作:str2.operator=(str1);
相关文章推荐
- Python 中赋值和分片拷贝的区别
- C++ 赋值运算和拷贝赋值函数的区别
- python中赋值-浅拷贝-深拷贝的区别
- Python 赋值、浅拷贝、深拷贝的区别?
- Python 赋值、浅拷贝、深拷贝的区别?
- 引用类型的赋值、浅拷贝和深拷贝的区别
- Python赋值、浅拷贝与深拷贝之间的区别
- Python FAQ2:赋值、浅拷贝、深拷贝的区别?
- 继承中构造、析构 与 拷贝构造、赋值中的调用区别
- Python中的赋值,浅拷贝和深拷贝的区别
- Python FAQ2:赋值、浅拷贝、深拷贝的区别?
- python 赋值的时候是引用,如果需要复制则需要注意深拷贝和浅拷贝的区别
- Python 赋值、浅拷贝、深拷贝的区别?
- 赋值、浅拷贝以及深拷贝的区别
- 图解python中赋值、浅拷贝、深拷贝的区别
- 继承中构造、析构 与 拷贝构造、赋值中的调用区别
- Python 赋值、浅拷贝、深拷贝的区别?
- python编程之赋值和拷贝的区别概述及操作excel数据库(图)
- Python中的赋值、浅拷贝、深拷贝的区别?
- 引用类型的赋值、浅拷贝和深拷贝的区别