一部分的程序我用爲字符串值追加到一個向量所需的工作。我伸手分割故障時附加的字符串值,如下所示:追加到與的push_back一個矢量,而不是[]
for(int i = 0; i < testvec.size(); i++) {
testvec[i] = oldvec[i];
}
但我的程序編譯此代碼正確執行:
for(int i = 0; i < testvec.size(); i++) {
testvec.push_back(i);
}
這是它的精神,我們在做什麼是更新矢量
第二個循環或者不執行任何操作(如果'testvec.size()== 0')或者直到程序最終耗盡內存(否則)不會終止。只要'oldvec.size()> = testvec.size()',第一個循環就可以(但實際上並沒有追加任何東西),否則就會出現未定義的行爲。無論如何,我不清楚哪一段代碼應該實現。 –
要在另一個向量的末尾附加一個向量的內容,請寫'testvec.insert(testvec.end(),oldvec.begin(),oldvec.end());'。沒有必要的循環。 –
問題是什麼? – juanchopanza