C++ Vector学习笔记
生活随笔
收集整理的這篇文章主要介紹了
C++ Vector学习笔记
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
1、原來在編程的時候經常用的是數組或動態分配內存,現在嘗試使用容器vector
?????? ?數組:數組在定義時就要指定大小,而且大小不能是變量。因此在編程時都是定義一個很大的數組,但是,也難免出現數組越界的情況。例如,提取視頻的幀數據,每幀作為一個數組元素,數組的大小可以設為視頻的最大幀數,但是當遇到一個幀數更大的視頻時就會發生數組越界。
????????動態分配內存:動態分配內存優于數組的是分配的大小可以是變量。對于上例,我們就可以分配個視頻幀數大小的動態內存。但又如,統計視頻黑幀的數據,這時候需要的大小小于視頻幀數,會造成內存的浪費。
??????? 容器:容器可以根據數據的加入增加大小。增加到一定程度,分配capacity() 大小的內存,當這內存不夠大時,會增加當前capacity() 一半大小的內存。
2、往容器中加入數據???????c.push_back(elem)
?????? 釋放容器的內存???? a.swap(vector<double>());
?????? 容器中元素清零(容器所占內存不變)? c.clear()
????? 得到容器中元素的個數????? c.size()
??????設定預分配容器的大小(不夠時會自動擴充一半) c.reserve(count)??
轉載于:https://blog.51cto.com/buptdtt/581172
總結
以上是生活随笔為你收集整理的C++ Vector学习笔记的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 首尔日记——前传
- 下一篇: [转]另一个SqlParameterCo