c++ copy constructor, operator=
来源:互联网 发布:excel大批量数据查找 编辑:程序博客网 时间:2024/05/19 17:24
参考Copy constructors, assignment operators, and exception safe assignment
1. copy constructor
The copy constructor is called whenever an object is initialized from another object of the same type, which includes
- initialization, T a = b; or T a(b);, where b is of type T
- function argument passing: f(a);, where a is of type T and f is void f(T t)
- function return: return a; inside a function such as T f(), where a is of type T, which has no move constructor.
此外,看一个例子
#include<iostream>using namespace std;class MyClass {public: int data1_; int data2_; MyClass() { cout << "Default constructor..." << endl; } MyClass(int x, int y) : data1_(x), data2_(y) { cout << "Constructor..." << endl; } MyClass(const MyClass& other) : data1_(other.data1_), data2_(other.data2_) { cout << "Copy Constructor..." << endl; } MyClass& operator=(const MyClass& other) { cout << "operator = ...." << endl; data1_ = other.data1_; data2_ = other.data2_; return *this; } void print() const { cout << "data1: " << data1_ << ", data2: " << data2_ << endl; }};int main() { MyClass c1(1, 2); //should call constructor MyClass c2 = c1; //will not call default constructor first, but call copy constructor. c2.data1_ = 1000; c1.print(); //should not change, should print "data1: 1, data2: 2" c2 = c1; //should call operator =, not copy constructor return 0;}
0 0
- copy constructor & operator =
- [C++]copy constructor and copy assignment operator
- copy constructor and = operator
- operator=, swap, copy constructor
- Copy Constructor and operator=
- c++ copy constructor, operator=
- Constructor/Destructor/Copy Constructor/operator =
- C++中直接拒绝编译器自动生成copy constructor和copy operator=操作(6)---《Effective C++》
- constructor copy constructor initialization and assignment operator
- copy constructor,destructor 和copy assignment operator
- default constructor, copy constructor, copy assignment operator, destructor
- why we need copy constructor & assignment operator
- 【C++】Copy Constructor
- copy constructor 和copy assignment operator的比较
- copy constructor和copy assignment operator的区别
- 《C++ primer》学习笔记之二十九: 当copy constructor遇到operator=
- copy constructor && =
- C++ 回忆录8 copy constructor and Assigment Operator
- 杭电1280(前m大的数)
- Leetcode9: Add Binary
- android sdk下载以及一些学习网站
- F - The Minimum Length HUST1010( kmp计算最小循环节)
- FrameLayout 的 margin 在 2.x 上不生效
- c++ copy constructor, operator=
- 算法-骨牌覆盖问题(矩阵快速幂求Fibonacii)
- 结构体内部偏移的妙用 从文件中按照固定格式读取数据
- 求两个等长已排序数组的中位数(算法导论习题9.3-8)
- Velocity中的if
- spark ha with curator
- 黑马程度员——ios基础—— 指针
- 第六周项目六——复数模板类(2)
- 《C++编程》第二章第17题