<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 功能強大 支持多語言、二開方便! 廣告
                # 概念 **POD 是 Plain Old Data 的縮寫**,是 C++ 定義的一類數據結構概念,比如 int、float 等都是 POD 類型的。Plain 代表它是一個普通類型,Old 代表它是舊的,與幾十年前的 C 語言兼容,那么就意味著可以使用 memcpy() 這種最原始的函數進行操作。兩個系統進行交換數據,如果沒有辦法對數據進行語義檢查和解釋,那就只能以非常底層的數據形式進行交互,而擁有 POD 特征的類或者結構體通過二進制拷貝后依然能保持數據結構不變。 **也就是說,能用 C 的 memcpy() 等函數進行操作的類、結構體就是 POD 類型的數據**。 ## **POD的特征** 是不是 POD 類型的,可以用 is\_pod::value 來判斷。那什么樣的類、結構體是擁有 POD 特性的呢?要求有兩個:一個是它必須很平凡、很普通;另一個是布局有序。 * 不能寫**構造/析構函數**、**拷貝/移動構造函數**、**拷貝/移動運算符**,而是用編譯器自動為我們生成,那這個數據就是“平凡的”。非要寫的話,用 C++ 11 的 default 關鍵字。例如下列代碼用 std::is\_trivial::value 來判斷是否“平凡”。 * 不能有**虛函數**和**虛基類**。只要滿足以上條件,就是擁有平凡特征的數據類型。 **布局要有序** 除了平凡之外,還對布局有要求。為了便于理解講述,我們把非靜態數據稱為普通數據。 * **普通成員有相同的訪問級別**。例如下面的類,因為 a 和 b 的訪問級別不一樣,所以布局無序,自然就不是 POD 類型的數據。當然,如果 b 寫成 static int b,例子中的 A 類就是 POD 類型的了。所以一定要看清每個字,是“普通成員”哦。 * **第一個成員必須是自己的** * **只要有父類,普通成員只能在其中一個類中,不可分散** *
                  <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>

                              哎呀哎呀视频在线观看