C++vector容器-互换容器
生活随笔
收集整理的這篇文章主要介紹了
C++vector容器-互换容器
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
vector容器互換
功能描述:
實現兩個容器內元素進行互換
函數原型:
swap(vec);//將vec與本身的元素互換
1.基本使用
代碼如下:
2.實際用途
巧用swap可以收縮內存空間
當我們重新指定大小的時候,vector容器的容量(capacity)不會變化,如果剛開始給vector容器push_back很多元素,后面resize時又將它變得很小,這個時候vector的size雖然變了,但是capacity是不會變的,這樣就會浪費內存空間,我們可以巧用swap解決這個問題
代碼如下:
vector(v).swap(v);
為什么可以收縮空間呢?
vector < int > (v) :
用v目前所用元素個數來初始化匿名對象
那當我們使用了swap(v)//容器交換后
等vector< int >(v).swap(v)這行代碼執行完,編譯器就會自動回收匿名對象,所以那塊很大的內存就會被回收,不再占用空間
總結
以上是生活随笔為你收集整理的C++vector容器-互换容器的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++vector容器-数据存取
- 下一篇: 肌肉劳损怎么恢复