c++:vector对象的增长
生活随笔
收集整理的這篇文章主要介紹了
c++:vector对象的增长
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
| c.shrink_to_fit() | 請將capacity()減小為與size()相同大小 |
| c.capacity() | 不重新分配內存空間的話,c可以保存多少元素 |
| c.reserve(n) | 分配能容納至少n個元素的內存空間 |
shrink_to_fit只適用于vector、string和deque;
capacity和reserve只適用于vector和string
reserve并不改變容器中元素的數量,僅影響vector預先分配多大的內存空間
輸出結果:
①可以看到當創建一個空的vector容器后,其中所含的元素和分配的內存均為0;
②當其增長24個元素后,其中所含元素數量為24,而所分配的空間為28,這是依賴于標準庫的具體實現決定的;
③手動使用reserve()為其分配50的內存后,其內存變為50,元素數量沒有改變;
④之后將size補滿至內存空間大小,二者皆為50;
⑤再向容器中增加一個元素后,其內存空間被分配為75,增長了原內存空間的1/2,這是依賴于編譯器本身的;
⑥最后應用shrink_to_fit使得內存空間減少為size的大小
了解容器大小操作后可對溢出和預分配等做進一步理解
總結
以上是生活随笔為你收集整理的c++:vector对象的增长的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 软件测试Homework1——印象最深刻
- 下一篇: 数据结构课程设计解题报告 前言