string位置不同,顯現狀況也有所不同??

Home Home
引用 | 編輯 aki67024
2010-12-13 15:22
樓主
推文 x0
麻煩各位先進可以在幫我看一 ..

訪客只能看到部份內容,免費 加入會員



獻花 x0
引用 | 編輯 totsi
2010-12-13 16:35
1樓
  
在下也是初學,也遇過類似的問題。這問題其實跟string宣告位置無關。以下經驗也是跟前輩們請教的:

跟宣告位置有關的是記憶體
1.在迴圈外部宣告,則產生一次記憶體空間,之後迴圈就會一直使用這記憶體位置。
2.在迴圈內部宣告,則每次進到迴圈後,就會重新配一塊記憶體,等迴圈結束後,再釋放
記憶體

此問題會建議在迴圈外宣告string:
1.如string為物件的話,可避免construct跟destruct所造成的處理時間增加。
2.產生較小的記憶體fragment

至於要怎麼解決重複的問題,那只要在進入第二層迴圈前,把string設為空字串就好。

如果有機會碰到c/c++,請記得替宣告的值初始化,可以減少很多問題。

獻花 x1
引用 | 編輯 aki67024
2010-12-13 20:16
2樓
  
原來如此,感謝你的幫忙^^

獻花 x0