C++筆記(11):拷貝控制(拷貝移動,構造賦值,析構)

來源:互聯網
上載者:User

標籤:編譯   重載   顯示   不能   筆記   let   成員   參考型別   綁定   

控制對象拷貝,賦值,析構

  拷貝建構函式,移動建構函式

  拷貝賦值運算子,移動賦值運算子

  解構函式

 -------------------------------------------------------------------------------------------------------------------------------------

1. 拷貝建構函式:參數必須是參考型別&,一般是const的

    拷貝建構函式的第1個參數指的是對於自身類類型的引用

 2.拷貝賦值運算子:本質是運算子函數重載

 3.解構函式:釋放和銷毀對象,無傳回值

 

 使用“=default”來顯示的要求編譯器產生合成版本的拷貝建構函式、拷貝賦值運算子、解構函式

 

 阻止拷貝:1)定義刪除的函數:拷貝建構函式、拷貝賦值運算子使用“=delete”

      2)解構函式不能是刪除的成員

     3)private拷貝控制:拷貝建構函式、拷貝賦值運算子使用“private”

 

 對象移動:對於某些拷貝後就銷毀的對象,移動而非拷貝會大幅度提高效能

      新標準為了支援移動操作,引入了新的參考型別:右值引用:&&

      右值引用只能綁定到一個即將被銷毀的對象上面:int &&r=42;右值引用(int &r=i 是一般的左值引用)

      或者使用標準移動函數move():int &&r=move(r1);

 

C++筆記(11):拷貝控制(拷貝移動,構造賦值,析構)

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.