<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國際加速解決方案。 廣告
                ## scoped_array ### 頭文件: `"boost/scoped_array.hpp"` 需要動態分配數組時,通常最好用`std::vector`來實現,但是有兩種情形看起來用數組更適合: 一種是為了優化,用`vector`多少有一些額外的內存和速度開銷;另一種是為了某種原因,要求數組的大小必須是固定的。\[5\] 動態分配的數組會遇到與普通指針一樣的危險,并且還多了一個(也是最常見的一個),那就是錯誤調用`delete`操作符而不是`delete[]`操作符來釋放數組。我曾經在你想象不到的地方見到過這個錯誤,那也是它常被用到的地方,就是在你自己實現的容器類里!`scoped_array` 為數組做了`scoped_ptr`為單個對象指針所做的事情:它負責釋放內存。區別只在于`scoped_array` 是用`delete[]` 操作符來做這件事的。 > \[5\] 如果沒有非常清晰的優點,最好還是用 `std::vector` ,除非性能測試表明`scoped_array` 的好處是有保證的。 `scoped_array`是一個單獨的類而不是`scoped_ptr`的一個特化,其原因是,因為不可能用元編程技術來區分指向單個對象的指針和指向數組的指針。不管如何努力,也沒有人能發現一種可靠的方法,因為數組太容易退化為指針了,這使得沒有類型信息可以表示它們是指向數組的。結果,只能由你來負責,使用`scoped_array`而不是`scoped_ptr`,就如你必須用`delete[]`操作符而不是用`delete`操作符一樣。這樣的好處是`scoped_array` 負責為你處理釋放內存的事情,而你則告訴`scoped_array` 我們要處理的是數組,而不是裸指針。 `scoped_array`與`scoped_ptr`非常相似,不同的是它提供了`operator[]` 來模仿一個裸數組。 `scoped_array` 是比普通的動態分配數組更好用。它處理了動態分配數組的生存期管理問題,就如`scoped_ptr`管理對象指針的生存期一樣。但是記住,多數情況下應該使用`std::vector`,它更靈活、更強大。只有當你需要確保數組的大小是固定的時候,才使用`scoped_array` 來替代 `std::vector`.
                  <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>

                              哎呀哎呀视频在线观看