- //对于拷贝和赋值很容易混淆的一个问题
- 例如:
- 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);
拷贝和赋值的区别
最新推荐文章于 2022-12-26 18:03:28 发布