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

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                # POD 所謂POD(Plain Old Data),指的是那些可以像C結構體一樣直接操作的“普通”類型,對于該種類型,可以直接對它用memset()/memcpy()來進行初始化/拷貝等操作。 在C++98標準中,POD實際上是受限于結構體定義時所涉之語言特性而定義的。 ``` struct S { int a; }; // S屬于POD struct SS { int a; SS(int aa) : a(aa) { } }; // SS不屬于POD struct SSS { virtual void f(); /* ... */ }; ``` 在C++11中,S和SS都是“標準布局類型”(即POD),因為SS實在沒什么復雜的地方:構造函數不會影響它內存布局(所以memcpy()也能用),不過這里卻不能用memset()來初始化——因為它可能違反構造函數中定義的賦值規則(需要用aa來為a賦值)。另外,這里的SSS則明顯不是POD了,因為其每個對象中都包含著虛表指針(vptr)。 C++11中引進或重新定義了POD、trivially-copyable類型、trivial類型、以及”標準布局”類型等概念,以用來處理C++98中原”POD”相關的一系列技術問題。 (譯注:請參閱[《怎樣理解C++ 11中的trivial和standard-layout—An answer from stackoverflow》](http://www.cnblogs.com/tingshuo/archive/2013/03/28/2986236.html)) POD的(遞歸)定義如下: * 所有的成員類型和基類都是POD類型 * 其余部分跟以前一樣(參見[10]第9章節) 不含虛函數 不含虛基類 不含引用 不含多種訪問權限(譯注:對所有non-static成員有相同的public/private/protected訪問控制權限) C++11中關于POD方面最重要的部分就是POD中允許存在不影響內存布局和性能的構造函數(譯注:參見C++11中新引入的default構造函數語法)。 參考文獻: * the C++ draft section 3.9 and 9 [10] * [N2294=07-0154] Beman Dawes: [POD’s Revisited; Resolving Core Issue 568 (Revision 4)](http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2007/n2294.html) . (翻譯:張瀟)
                  <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>

                              哎呀哎呀视频在线观看