C++ - 复制构造器 和 复制-赋值操作符 的 区别
来源:互联网 发布:文员office办公软件 编辑:程序博客网 时间:2024/06/14 05:39
复制构造器 和 复制-赋值操作符 的 区别
本文地址: http://blog.csdn.net/caroline_wendy/article/details/15336889
复制构造器(copy constructor):定义新对象, 则调用复制构造器(constructor);
复制-赋值操作符(copy-assignment operator):没有定义新对象, 不会调用构造器;
注意一个语句, 只能使用一个方式, 并不是出现"=", 就一定调用复制-赋值操作符, 构造器有可能优先启用.
代码:
#include <iostream>class Widget {public:Widget () = default;Widget (const Widget& rhs) {std::cout << "Hello girl, this is a copy constructor! " << std::endl;}Widget& operator= (const Widget& rhs) {std::cout << "Hello girl, this is a copy-assignment operator! " << std::endl;return *this;}};int main (void) {Widget w1;Widget w2(w1); //使用copy构造器w1 = w2; //使用copy-assignment操作符Widget w3 = w2; //使用copy构造器}
输出:
Hello girl, this is a copy constructor! Hello girl, this is a copy-assignment operator! Hello girl, this is a copy constructor!
- C++ - 复制构造器 和 复制-赋值操作符 的 区别
- C++ - 复制构造器 和 复制-赋值操作符 的 区别
- C++复制构造函数和赋值操作符的区别
- C++复制构造函数和赋值操作符的区别
- c++复制构造函数和赋值操作符区别
- 复制构造函数与赋值操作符之间的区别
- 复制构造函数与赋值操作符之间的区别
- 复制构造函数与赋值操作符之间的区别
- 复制构造函数,赋值操作符重载之间的区别
- C++ 复制构造和赋值的区别
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- C++复制构造函数和赋值符的区别
- C++复制构造函数和赋值符的区别
- 赋值运算符和复制构造函数的区别
- IE的JS在编码问题
- 策略模式
- Maven:生命周期及插件
- substring和substr的用法
- 开个博客试试!
- C++ - 复制构造器 和 复制-赋值操作符 的 区别
- test 特殊字符
- Maven与MyEclipse项目
- nor current process has android.permission.WRITE_APN_SETTINGS Proxy andriod,代理上网,wap网络请求有关问题
- UML用例图
- POJ1837:Balance
- Learning Standard C++ as a New Language ( By Bjarne Stroustrup )
- Android开发者指南-Drawable 动画-Drawable Animation[原创译文]
- java.String类replace函数的详解