STL使用匯總

很久以前對STL就學的不明不白,現在正好有空,也該收拾一下了。

一、vector的使用

1、vector叫動態數組,初始化時由於不知道自己的元素個數,所以不能用賦值法直接賦值,而只能用push_back()。當已經賦值後再修改元素時,可以用賦值法直接修改。除此之外還可以用insert(起始位置,元素數量,元素本身)的類型插入,不過因爲一開始容器的沒有大小,不能從0開始插入,只能從begin()開始插入。

2、定義二維向量的方法:一個是vector<int> myvector[MAXN],另一個是vector<vector<int> > myvector(注意中間有空格)。

 

二、string的使用

1、賦值有直接賦值和插入式賦值兩種方式。

 

三、map的使用

1、遍歷map的時候,不能用類似vector的序號輸出,只能用迭代器輸出。

2、mymap.begin()表示第一個元素的迭代器,mymap.end()表示最後一個元素的下一個元素的迭代器;

mymap.rbegin()表示最後一個元素的迭代器,mymap.rend()表示第一個元素的前一個元素的迭代器。

 

四、priority_queue的使用

1、結構體中重載了小於號後後面如果再聲明小根堆,即使邏輯上正確編譯也通不過,正確做法是在結構體中一次重載好,不要聲明小根堆。

 

五、不要對STL使用memset,會導致內存泄漏。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章