STL中的vector對於char 需要注意的問題

2021-10-05 08:23:59 字數 505 閱讀 7010

為什麼用vector不能輸出正確的值?

因為陣列是事先開闢好的,pushback進去的是陣列的位址,所以無論你怎麼改輸入的內容,都是把乙個相同的東西存進去。

解決方法 重新定義乙個char *temp_buf = new char[10] 然後strcpy,再push_back進去。

c++**:

#define _crt_secure_no_warnings

#include

#include

#include

#include

using namespace std;

int main()

if (buf[i] == ' ')

}for (int i = 0; i < str_v.size(); ++i)

return 0;

}執行結果:

STL中vector的使用

作用 它能夠像容器一樣存放各種型別的物件,簡單地說,vector是乙個能夠存放任意型別的動態陣列,能夠增加和壓縮資料。vector在c 標準模板庫中的部分內容,它是乙個多功能的,能夠操作多種資料結構和演算法的模板類和函式庫。特別注意 使用vector需要注意以下幾點 1 如果你要表示的向量長度較長 ...

STL中vector的使用

vector是標準模板庫中我們經常使用的容器,它與陣列類似,它擁有一段連續的記憶體空間,並且起始位址不變,因此它能很好的支援隨機訪問 使用操作符訪問其中的元素 但由於它的記憶體空間是連續的,所以在中間進行插入和刪除操作會造成記憶體塊的拷貝 複雜度為o n 另外,當該陣列的記憶體空間不夠時,需要重新申...

STL中的向量 vector

向量 vector 是乙個封裝了動態大小陣列的順序容器 sequence container 跟任意其它型別容器一樣,它能夠存放各種型別的物件。可以簡單的認為,向量是乙個能夠存放任意型別的動態陣列。當程式設計師無法知道自己需要的陣列的規模多大時,用 vector 來解決問題可以達到最大節約空間的目的...