copy构造函数与copy assignment操作符区别
来源:互联网 发布:vue.js jquery 编辑:程序博客网 时间:2024/05/20 22:00
copy构造函数:“以同型对象初始化自我对象”。
copy assignment:“从另一个同型对象中拷贝其值到自我对象”。
#include <iostream>#include <string>class A { public: A() { std::cout << "A() called!\n"; } A(const A& a) { std::cout << "A(const A& a) called!\n"; } A& operator=(const A& a) { std::cout << "operator=(const A& a)!\n"; }};int main(){ A a1; A a2 = a1; A a3(a1); a3 = a2; return 0;}
输出结果:
A() called!A(const A& a) called!A(const A& a) called!operator=(const A& a)!
上例中,执行”A a2=a1”时,调用“copy构造函数”,而执行“a3 = a2”时,调用copy assignment。因此,如果一个新对象被定义,一定会有个构造函数被调用,不可能调用copy assignment,如果没有新对象被定义,就不会有构造函数被调用,只是调用copy assignment。
0 0
- copy构造函数与copy assignment操作符的区别
- copy构造函数与copy assignment操作符区别
- Effective C++学记之05 编译器可以暗自为class创建default构造函数 copy构造函数 copy assignment操作符 析构函数。
- copy 和assignment函数
- 2.copy构造函数和拷贝操作符‘=’的区别
- C++类禁止copy构造函数和copy assign操作符
- C++对象的copy constructor与copy assignment的区别与联系
- 函数返回语句与copy (move) constructor, copy (move) assignment operator的关系
- copy构造函数
- 禁用copy构造函数
- copy构造函数
- copy拷贝构造函数
- copy constructor和copy assignment operator的区别
- Copy constructor and Copy assignment
- copy constructor and copy assignment
- C++中拒绝编译器自动生成copy构造函数和copy赋值运算符操作(6)---《Effective C++》
- copy、copy_backward函数区别
- 构造函数语义学之Copy Constructor构建操作(1)
- [leetcode]62. Unique Paths
- copy构造函数与copy assignment操作符的区别
- Android开发学习笔记:Intent的简介以及属性的详解
- 深度理解链式前向星
- mysql 主从复制配置
- copy构造函数与copy assignment操作符区别
- 嵌入式Linux开发环境
- About AP Station Isolation
- 命令附加数据库
- centos7之lamp环境搭建
- jdbc的使用
- Codeforces 689D Friends and Subsequences(RMQ+二分)
- 常用MFC的API函数
- 198. House Robber