<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                ## \[11+\][$]一.移動構造函數 ### 1.背景 若一個對象的一個指針類型的數據成員指向非常大的堆空間,當它復制構造時,這個空間一般需要重新拷貝一遍。然而有時對象復制完后,原對象就沒用了(或者析構了)。這就會浪費不少時間和內存資源。 ### 2.概念 用對象的將亡值構造對象。 **移動的理解** 這里的移動,指的是堆空間,而數據成員占用的棧空間還是會復制。 ### 3.定義和聲明 ```c++ //一般舊對象那里會加上 const ,防止原對象被修改。 //如需多個參數,后面的參數需要加默認值 類名(類名&& 舊對象) { //code here } ``` ### 4.作用 + 完成資源移動 + 確保源對象必須不再指向被移動的資源 ### 5.調用時機 用 **將亡值** 拷貝初始化 **即將創建的對象** 時。 ## \[11+\][$]二.移動賦值操作 ### 1.定義和聲明 ```c++ //一般舊對象那里會加上 const ,防止原對象被修改。 類名 &operator =(類名&& 舊對象) { //code here } ``` ### 2.作用 + 完成資源移動 + 確保源對象必須不再指向被移動的資源 ### 3.調用時機 用 **將亡值** 拷貝賦值一個 **已存在的對象** 時。 ## \[11+\][$]三.合成的移動函數 ### 隱式移動函數產生的條件 1. 沒有有用戶定義的拷貝操作或移動操作。 2. 沒有有用戶定義的析構函數。 ### 隱式移動函數聲明為刪除的條件 1. 當非靜態數據成員或基類不可移動(除 `const` 和 `引用` 外,其余內置類型均可移動)。 2. 當非靜態數據成員不可移動且顯式要求編譯器生成合成的移動函數 `=default` 。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看