[問題] vector push_back fail.

看板C_and_CPP作者 (閉上眼的魚)時間14年前 (2011/01/14 06:40), 編輯推噓3(308)
留言11則, 6人參與, 最新討論串1/4 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) vs 2008 問題(Question): primer ch9 剛念完,裡面提到 find , 於是實做了類似下面的東西 beg = ivec.begin(), end=ivec.end(); do{ beg = find(beg, end, 2); vit.push_back(beg++); }while(beg!=end); 完整程式碼及錯誤視窗於下連結, 於執行期會失敗, 不知是不是我哪裡觀念有問題 錯誤結果(Wrong Output): http://ppt.cc/9pfV 程式碼(Code):(請善用置底文網頁, 記得排版) http://nopaste.csie.org/8b2fc 補充說明(Supplement): Primer 第二篇是不是要懂資料結構、演算法才念得下去? (資料結構我只知道 link list,演算法完全沒學過,只知道幾個簡單的排序) 我覺得現在念得好痛苦,是不是要有其它的輔助書籍? 謝謝各位。 -- If there is no tomorrow, I want to see u last time. -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 180.177.76.142

01/14 15:09, , 1F
剛開始會比較痛苦,慢慢就習慣了
01/14 15:09, 1F

01/14 17:50, , 2F
除非讀的人跟你一樣懂值的變化, 否則別把 beg++ 和其
01/14 17:50, 2F

01/14 17:50, , 3F
他運算寫在一起
01/14 17:50, 3F

01/14 18:09, , 4F
謝謝l大的指導,我會再多注意的,謝謝。
01/14 18:09, 4F

01/14 18:10, , 5F
to s: 希望這痛苦不會太久,ch10 map insert 以後讓我好亂
01/14 18:10, 5F

01/14 18:14, , 6F
我以為要 *beg++
01/14 18:14, 6F

01/14 18:23, , 7F
因為剛學沒多久,只是有想法記錄出現的位置,所以測試可不可
01/14 18:23, 7F

01/15 12:47, , 8F
把STL全部看完大概的資料結構概念跟演算法都差不多了吧
01/15 12:47, 8F

01/15 12:47, , 9F
XD
01/15 12:47, 9F

01/16 13:53, , 10F
push_back 過後,你原有的 beg end 都可能會指向無效位址
01/16 13:53, 10F

01/16 13:54, , 11F
因為原來 reserve 的空間不夠用了,所以會 runtime error
01/16 13:54, 11F
※ 編輯: EdisonX 來自: 180.177.76.161 (05/12 00:52)
文章代碼(AID): #1DB-_v_0 (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1DB-_v_0 (C_and_CPP)