<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>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                當你第一次學習move語義和完美轉發時,它們看起來很直截了當: * __Move語義__使編譯器能夠把昂貴的拷貝操作替換為代價較小的move操作。 和拷貝構造函數以及拷貝賦值運算符能賦予你控制拷貝對象的能力一樣,move構造函數以及move賦值運算符提供給你對move語義的控制。Move語義使得move-only類型的創建成為可能,比如說`std::unique_ptr`,`std::future`以及`std::thread`. * __完美轉發__讓我們可以寫出接受任意參數的函數模板,并且將之轉發到其他的函數,使得target函數接受的參數和forwarding函數接受的參數相同。 右值引用對于這兩個看起來毫無關系的概念來說,就像是粘合兩者的膠水。它作為潛在的語言機制,為move語義和完美轉發的實現提供支持。 你對這些特性越有經驗,你就越發現你對它們的第一印象就像是剛剛發現了冰山一角。move語義,完美轉發以及右值引用跟它們看起來比有細微差別,比如說,move語義并不move任何東西,完美轉發是不完美的。move操作的代價并不總是比拷貝低;就算當它們確實代價底時,也沒有達到你想象的低的程度;它也并不總是在move有效的上下文中被調用。結構`type&&`并不一定總是代表一個右值引用。 不管你怎么去探索這些特性,看起來它們總是還有一些你還沒注意到的地方。幸運的是,它們的知識不是永無止境的。本章會帶你直達基礎。看完本章節,C++ 11的這部分內容對你來說就變得栩栩如生。比如說,你就會知道std::move和std::forward的常見用法,帶有迷惑性的`type&&`用法對你來說變得很平常。你也會理解move操作的各種讓人感到奇怪的表現的原因.這些都會水到渠成。到那時,你又會回到了起點,因為move語義,完美轉發,以及右值引用又一次看起來是那么的直截了當。但這次,它們(直截了當)的狀態會一直保持下去。 在本章的所有Item中,你必須要牢記一點,作為函數的參數,永遠是一個左值,即使它(在函數的參數列表中)的類型是一個右值引用。例如: ```cpp void f(Widget&& w); ``` 參數w是一個左值,即使它的類型是一個對Widget的右值引用。(如果你對此感到不理解,請重新回顧一下第2頁(原文的頁碼 --不負責任的譯者說)所講的左值與右值的概覽內容)
                  <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>

                              哎呀哎呀视频在线观看