vector中資料型別為指標時,需要將內部指標釋放,否則會造成記憶體的洩露,釋放的方式有兩種:
方法1
vector<
int*
>a..
....
...while
(!a.
empty()
)
方法2
vector<
int*
>a..
....
...for
(auto it = a.
begin()
; it != a.
end(
); it++
)}
測試發現,方法 2 遠比方法 1 速度更快
當vector中的資料型別不為指標時,若vector陣列很大,占用大量記憶體,需要釋放,不能使用 clear() 函式,因為雖然 clear() 函式可以清空所有元素,但是 vector 所占用的記憶體空間依然如故,無法保證記憶體的**。可通過swap函式與乙個臨時變數交換,在臨時變數消亡時會呼叫 vector 的析構函式釋放記憶體
vector<
int>a..
....
...a.
swap
(vector<
int>()
)
vector存放內建資料型別(2)
容器 vector 演算法 for each 迭代器 vector iterator 1 include 2 include 3 include 4 using namespace std 56 為第三種遍歷方式提供函式名 7void myprint int val 811 12 vector存放內...
再談指標 指標的資料型別
一 指標定義 分三部分 例如 int i,char str,float k 1 i,str,k 是指標型別變數 2 表示定義的是乙個指標變數 而非一般變數 3 int char float 是指標所指向的記憶體空間中存放的資料的型別。可以這樣理解 int char float 看成是資料型別,i,s...
複雜資料型別 指標
指標是c語言的精髓,不會指標就意味你沒有學過c語言。1 指標的基本使用 格式 變數型別 變數名 指標變數只能儲存位址,能夠根據乙個位址值,訪問對應的儲存空間 指標變數前面的int double char等型別,代表它只能訪問此種型別的變數。include int main void change i...