2014-01-23 56 views
-2

我一直在試圖學習如何在C++中使用向量,並且它們在java中看起來要複雜得多。爲了將項目添加到矢量,我不得不使用迭代器。我希望能夠做的就是使用添加刪除函數並在java中循環它們。這可能嗎?我試圖實現類似我標記爲以下錯誤的行:insert(index 3,number 13),但是這會引發錯誤。提前致謝。C++向量沒有像我想象的那樣直觀地執行

vector<int> myvector(0,0); 
    vector<int>::iterator it; 
    it = myvector.begin(); 
    int q = 0; 
    for(it=myvector.begin();q<16;q++){ 
     it = myvector.insert (it, q); 
    } 

myvector.insert(3,13); //ERROR 
+5

'vector.emplace_back(T &&參數)'或'vector.push_back(..)'完全符合您的需求..請參閱:http://www.cplusplus.com/reference/vector/ vector/emplace_back/ – Brandon

回答

0

你在上面如何填充向量的建議。

如果你想插入東西在特定的指數,你可以做以下

//similar to myvector.insert(3,13); //ERROR 
myvector.insert(myvector.begin()+3, 13); 

上面的代碼將前元素#3,使13成爲元素#3(記數從0開始插入13 ,所以「開始」對應於元素#0)。

替換元件#3與13,只需使用

myvector[3] = 13; 
+0

感謝這正是我想要的答案。不知道你可以在java中使用該數組符號來表示向量 – user1930111

0

Here是你可以瞭解C++ STL(標準模板庫)的鏈路,例如:載體,隊列,堆,列表等。

相關問題