[問題] string的assignment

看板C_and_CPP (C/C++)作者 (小肉...)時間14年前 (2012/03/07 12:31), 編輯推噓2(206)
留言8則, 4人參與, 最新討論串1/1
開發平台(Platform): Code::Blocks 額外使用到的函數庫(Library Used): NO 問題(Question):為什麼cout s2這個string,所顯示的會是空白呢? 餵入的資料(Input):string s1("Yes, we can!"); 預期的正確結果(Expected Output):Yes we can 錯誤結果(Wrong Output):顯示出來的是空白 程式碼(Code):(請善用置底文網頁, 記得排版) http://ideone.com/Ww8rl 補充說明(Supplement): -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.110.101.31

03/07 12:35, , 1F
s2先reserve有用嗎?
03/07 12:35, 1F

03/07 12:45, , 2F
我試著加了s2.reserve(20),可是結果仍然一樣。
03/07 12:45, 2F

03/07 13:19, , 3F
我搞錯重點了= = 應該是用 s2 += s1[index];
03/07 13:19, 3F

03/07 14:31, , 4F
這樣也是錯的,最後的結果會只剩下"n",前面的字串會一
03/07 14:31, 4F

03/07 14:31, , 5F
直被取代。
03/07 14:31, 5F

03/07 14:51, , 6F
我是改用s2.push_back(s1[index]); 好像可以
03/07 14:51, 6F

03/07 15:58, , 7F
我會建議用remove_copy_if
03/07 15:58, 7F

03/07 17:00, , 8F
我採用s2.push_back(s1[index]); 的確是可行的
03/07 17:00, 8F
文章代碼(AID): #1FLkIIK8 (C_and_CPP)
文章代碼(AID): #1FLkIIK8 (C_and_CPP)