引用 | 編輯
totsi
2010-12-13 16:35 |
1樓
▲ ▼ |
在下也是初學,也遇過類似的問題。這問題其實跟string宣告位置無關。以下經驗也是跟前輩們請教的:
跟宣告位置有關的是記憶體 1.在迴圈外部宣告,則產生一次記憶體空間,之後迴圈就會一直使用這記憶體位置。 2.在迴圈內部宣告,則每次進到迴圈後,就會重新配一塊記憶體,等迴圈結束後,再釋放 記憶體 此問題會建議在迴圈外宣告string: 1.如string為物件的話,可避免construct跟destruct所造成的處理時間增加。 2.產生較小的記憶體fragment 至於要怎麼解決重複的問題,那只要在進入第二層迴圈前,把string設為空字串就好。 如果有機會碰到c/c++,請記得替宣告的值初始化,可以減少很多問題。 x1 |