C++复制构造函数与赋值操作符
来源:互联网 发布:php 魔术方法 编辑:程序博客网 时间:2024/06/04 18:56
复制构造函数接受单个类类型引用形参,这个形参一般用const修饰。class A{ public: A();; A(const A&); //.........};一般的类,编译器合成的构造函数就能完成必要的工作。担当类有一个数据成员是指针,或者成员表示在构造函数中分配的其他资源;在创建新对象时必须做一些特定工作。这两种情况必须定义复制构造函数。复制操作符重载,由operator后面跟所定义的操作符符号,通过定义名为operator=函数来对赋值进行定义。该操作符函数有两个形参:第一个形参对应左边的操作数(隐式绑定到this指针了),第二个形参对应右操作数。返回类型应该与内置赋值运算返回的类型相同,内置类型的赋值运算返回对右操作数的引用,赋值操作符也返回对同一类型的引用。class B{ public: B& operator=(const B &);};可以使用合成复制构造函数的类通常也可以使用合成赋值操作符。一般来说,如果类需要复制构造函数,也就需要赋值操作符。
拷贝构造函数是用一个已存在的对象去构造一个不存在的对象(拷贝构造函数毕竟还是构造函数嘛),也就是初始化一个对象。而赋值运算符重载函数是用一个存在的对象去给另一个已存在并初始化过(即已经过构造函数的初始化了)的对象进行赋值。 它们定义上的区别,楼上的已经说过了。
- 赋值操作符与复制构造函数
- 构造函数,复制构造函数与拷贝赋值操作符
- 复制构造函数 与 赋值操作函数
- 复制构造函数与赋值重载(c++)
- 复制构造函数与赋值操作符重载
- 复制构造函数、赋值操作符与隐式类类型转换
- 复制构造函数与赋值操作符的重载
- 复制构造函数与赋值操作符之间的区别
- 复制构造函数与赋值操作符之间的区别
- 复制构造函数与赋值操作符之间的区别
- C++复制构造函数与赋值操作符
- C++复制构造函数与重载赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数或赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数 赋值操作符
- 复制构造函数和赋值操作符
- 复制构造函数和赋值操作符
- 《精通HTML5编程》第四章:地理位置API
- 安卓开发-内存使用分析
- 程序实现渐变
- 读你妹上传问题
- linux中文件打包、压缩和解压
- C++复制构造函数与赋值操作符
- Hibernate学习
- Word Reversal
- There is no getter for property named 'xxxx' in 'class java.lang.Integer
- 冒泡算法排序数组
- 树的递归遍历和非递归遍历(前序和后序)
- 程序实现缩放
- dbcp_20130911
- 计算几何模板(转自Archibaldyangfan)