vector::clear(),容器vector的clear函式詳解。
最近經常用到vector容器,發現它的clear()函式有點意思,經過驗證之後進行一下總結。
clear()函式的呼叫方式是,vector<datatype> temp(50);//定義了50個datatype大小的空間。temp.clear();
作用:將會清空temp中的所有元素,包括temp開闢的空間(size),但是capacity會保留,即不可以以temp[1]這種形式賦初值,只能通過temp.push_back(value)的形式賦初值。
同樣對於vector<vector<datatype> > temp1(50)這種型別的變數,使用temp1.clear()之後將會不能用temp1[1].push_back(value)進行賦初值,只能使用temp1.push_back(temp);的形式。
下面的程式碼是可以執行的。
#include <iostream>
#include<vector>
using namespace std;
int main(){
vector<vector<int>> test(50);
vector<int> temp;
test[10].push_back(1);
cout<<test[10][0]<<endl;
test.clear();
for(int i=0;i<51;i++)
test.push_back(temp);
system("pause");
return 0;
}
但是這樣是會越界錯誤的。
#include <iostream>
#include<vector>
using namespace std;
int main(){
vector<vector<int>> test(50);
vector<int> temp;
test[10].push_back(1);
cout<<test[10][0]<<endl;
test.clear();
for(int i=0;i<50;i++)
test[i].push_back(1);
system("pause");
return 0;
}
並且即使我們使用
for(int i=0;i<100;i++)
test[i].push_back(1);
都是可以的,因為size已經被清處了。
相關文章
- C++學習之路(vector::clear和vector::erase的區別)C++
- vector clear() 方法 記憶體釋放問題記憶體
- STL 之 vector 容器詳解
- Vector容器主要函式說明函式
- 【c++】vector.clear()的記憶體洩露問題C++記憶體洩露
- C++ sort vector<vector<int> > or vector<MyClass> 容器的排序C++排序
- C++筆記— 排序函式sort() 和vector容器C++筆記排序函式
- Vector清空資料與釋放記憶體(.clear與.swap的區別與使用)記憶體
- C++的vector容器C++
- vector中存放函式指標函式指標
- C++ 容器vector的使用C++
- c++ vector用法詳解C++
- 初探STL容器之Vector
- C++之vector容器C++
- 進階篇_vector容器
- c++ vector容器、字串C++字串
- C++ vector容器的swap方法C++
- STL原始碼剖析——vector容器原始碼
- C++_STL—容器Vector篇C++
- C++ vector容器的swap方法(容器互換)C++
- DataTransferItemList.clear()
- sessionStorage.clear()Session
- Java中Vector與ArrayList的區別詳解Java
- 探索.NET平臺中的SIMD內在函式Vector函式
- IDBObjectStore.clear()Object
- vector容器1(新增元素,遍歷元素)
- vector
- CSS 浮動(float,clear) 通俗講解CSS
- 字串 reverse(str.begin(),str.end()) 函式的標頭檔案 以及 str.clear()函式字串函式
- Java知識點總結(Java容器-Vector)Java
- clear:left/right 理解
- Clear Case usage tips
- Clear Code for Minimal APIAPI
- CSS中float和Clear的使用CSS
- Clear Windows XP login passwordWindows
- C++三種容器:list、vector和deque的區別C++
- 楊元:CSS浮動(float,clear)通俗講解CSS
- ALTER DATABASE CLEAR UNARCHIVED LOGFILE的使用DatabaseHive