作者indept (真人)
看板C_and_CPP
標題Re: [問題] 可以幫忙抓bug嗎 =.=
時間Sat Aug 1 07:40:55 2009
※ 引述《luckychild (兌現承諾)》之銘言:
: 程式碼在這 http://nopaste.info/f0c8d72109.html
: 可以執行.顯然是iterator亂指給出錯誤的值.
: 如果你願意試試的話可以跑一下程式碼
: 我把一些有用的資訊都cout了
: 程式跑到第6步才出錯.令我很無力.前5步都是對的(也許第5步就藏了一些錯誤).
: iterator或pointer在不同地方++或--程式實在很容易出錯
: 這算不算是"不好"的程設風格呀?
: 謝謝了.
class Coccus
{
public:
double r_division, growth_rate;
int age;
double radius,x,y;
Coccus(double rdivi,double rate,double r):
r_division(rdivi),growth_rate(rate),age(1) // <====
{
radius=r;
srand( time(NULL) );
x=rand()%101;
y=rand()%101;
}
};
我從沒看過這種 constructor 的寫法,是我見識太淺嗎?
這樣寫有什麼特別的意義或好處嗎?
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 71.198.44.240
推 willhunting:用initialization比較高效,或是你有什麼const member 08/01 07:53
→ willhunting:要初始化 08/01 07:53
推 SylphWind:比較訝異的是radius的初始化不在那行 @@ 08/01 08:49
→ luckychild:因為radius到時要隨機給值 所以不放在初始化序列上 08/01 13:04
推 dendrobium:明明就是直接用傳進來的值 08/01 17:25
→ ledia:我也在想 radius 怎麼沒寫在那裡 XD 08/01 18:37
推 world9918:radius要隨機給值那幹嘛要assign r? 08/01 22:47
推 luckychild:謝謝大家的回覆 我改用vector而不用list一切都變得簡單 08/03 17:42
→ luckychild:了.程式寫法或邏輯看起來有些奇怪是因為這還不是完整版 08/03 17:43
→ luckychild:只是拿來確認整個程式的流程有沒有想錯 08/03 17:44