C++學習之路(vector::clear和vector::erase的區別)
1、vector::clear()函式的作用是清空容器中的內容,但如果是指標物件的話,並不能清空其內容,必須要像以下方法一樣才能達到清空指標物件的內容:
vector<int*> xx;
for(int it=0;it!=xx.size();++it)
{
delete xx[it];
}
xx.clear();
但並不回收記憶體,但你可以通過swap()函式來巧妙的達到回收記憶體的效果:
xx.clear();
xx.swap(vector<int>());
2、vector::erase()用於清空容器中的內容以及釋放記憶體,並返回指向刪除元素的下一個元素的迭代器。
相關文章
- C++中vector*和vector有什麼區別C++
- STL Vector remove()和erase()的使用REM
- vector::clear(),容器vector的clear函式詳解。函式
- Vector和ArrayList的區別
- C++ STL學習——vectorC++
- 【C++學習筆記】vector和arrayC++筆記
- ArrayList 和 Vector 的區別 -JAVAJava
- C++三種容器:list、vector和deque的區別C++
- Java中Vector和ArrayList的區別Java
- std::vector 和 std::list 區別
- C++ sort vector<vector<int> > or vector<MyClass> 容器的排序C++排序
- java複習之 Vector、ArrayList和LinkedList 的區別Java
- LinkedList和ArrayList的區別、Vector和ArrayList的區別
- 【c++】vector.clear()的記憶體洩露問題C++記憶體洩露
- java arrayList vector 區別Java
- vector——C++C++
- C++【vector】用法和例子C++
- vector 學習初步(1)
- Vector清空資料與釋放記憶體(.clear與.swap的區別與使用)記憶體
- C++的vector容器C++
- C++ STL -- vectorC++
- C++ Vector fundamentalC++
- 演算法學習之路|用C++刷演算法會用到的STL(一)——vector演算法C++
- C++ 容器vector的使用C++
- C++入門學習——標準模板庫之vectorC++
- ARRAYLIST VECTOR LINKEDLIST 區別與用法
- C++之vector容器C++
- C++:vector assignC++
- vector clear() 方法 記憶體釋放問題記憶體
- ArrayList,LinkedList,Vector,Stack之間的區別
- Java中Vector與ArrayList的區別詳解Java
- C++ vector容器的swap方法C++
- c++ vector用法詳解C++
- c++ std::vector 切記C++
- C++ Vector資料插入C++
- c++ vector刪除元素C++
- C++中vector<int>& numsC++
- c++中stack、queue、vector的用法C++