<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 功能強大 支持多語言、二開方便! 廣告
                [TOC] ### what ***** reserve成員函數允許你最小化必須進行的重新分配的次數,因而可以避免真分配的開銷和迭代器/指針/引用 失效。 * reserve(Container::size\_type n)強制容器把它的容量改為至少n,提供的n不小于當前大小。這一般強迫 進行一次重新分配,因為容量需要增加。(如果n小于當前容量,vector忽略它,這個調用什么都不 做,string可能把它的容量減少為size()和n中大的數,但string的大小沒有改變。在我的經驗中,使用 reserve來從一個string中修整多余容量一般不如使用“交換技巧”,那是條款17的主題。) ### how ***** 類似于realloc操作: * 分配新的內存塊,它有容器目前容量的幾倍。在大部分實現中,vector和string的容量每次以2為因數增 長。也就是說,當容器必須擴展時,它們的容量每次翻倍。 * 把所有元素從容器的舊內存拷貝到它的新內存。 * 銷毀舊內存中的對象。 * 回收舊內存 ### why ***** 假定你想建立一個容納1-1000值的vector。沒有使用reserve,你可以像這樣來做 ``` vector v; for (int i = 1; i <= 1000; ++i) v.push_back(i); ``` 在大多數STL實現中,這段代碼在循環過程中將會導致2到10次重新分配。(10這個數沒什么奇怪的。記住 vector在重新分配發生時一般把容量翻倍,而1000約等于2^10。) 把代碼改為使用reserve,我們得到這個: ``` vector v; v.reserve(1000); for (int i = 1; i <= 1000; ++i) v.push_back(i); ``` 這在循環中不會發生重新分配。 ` ` ### 調用reserve不改變容器中對象的個數。
                  <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>

                              哎呀哎呀视频在线观看