C++类的拷贝控制
C++類的拷貝控制
- 什么是類的拷貝控制
- 拷貝構(gòu)造函數(shù)
- 拷貝賦值運(yùn)算符
- 析構(gòu)函數(shù)
- 定義拷貝控制操作的原則
- 使用=default和=delete
- 移動(dòng)構(gòu)造函數(shù)和移動(dòng)賦值運(yùn)算符
什么是類的拷貝控制
當(dāng)我們定義一個(gè)類的時(shí)候,為了讓我們定義的類類型像內(nèi)置類型(char,int,double等)一樣好用,我們通常需要考下面幾件事:
Q1:用這個(gè)類的對(duì)象去初始化另一個(gè)同類型的對(duì)象。
Q2:將這個(gè)類的對(duì)象賦值給另一個(gè)同類型的對(duì)象。
Q3:讓這個(gè)類的對(duì)象有生命周期,比如局部對(duì)象在代碼部結(jié)束的時(shí)候,需要銷毀這個(gè)對(duì)象。
因此C++就定義了5種拷貝控制操作,其中2個(gè)移動(dòng)操作是C++11標(biāo)準(zhǔn)新加入的特性:
拷貝構(gòu)造函數(shù)(copy constructor)
移動(dòng)構(gòu)造函數(shù)(move constructor)
拷貝賦值運(yùn)算符(copy-assignment operator)
移動(dòng)賦值運(yùn)算符(move-assignment operator)
析構(gòu)函數(shù) (destructor)
前兩個(gè)構(gòu)造函數(shù)發(fā)生在Q1時(shí),
總結(jié)
- 上一篇: C++OO思想
- 下一篇: 乌鲁木齐领航天宸是哪个开发商?