從本質(zhì)上來(lái)說(shuō),這兩者的區(qū)別只是在于變量的初始值不一樣,但是,設(shè)置不同的初始值可以優(yōu)化代碼。以計(jì)算最小價(jià)格來(lái)說(shuō)明兩個(gè)不同的寫(xiě)法帶來(lái)的區(qū)別:
//代碼1
var: min_low(0);
if min_low=0 then
? ? ? ? min_low=low
else if min_low>Low then
? ? ? ? min_low=low;
//代碼2
var: min_low(9999); //初始值要設(shè)置的比商品合約的價(jià)格大很多
if min_low>Low then
? ? ? ? min_low=low;
兩者的區(qū)別在代碼中就很明顯了。
?
從本質(zhì)上來(lái)說(shuō),這兩者的區(qū)別只是在于變量的初始值不一樣,但是,設(shè)置不同的初始值可以優(yōu)化代碼。以計(jì)算最小價(jià)格來(lái)說(shuō)明兩個(gè)不同的寫(xiě)法帶來(lái)的區(qū)別:
//代碼1
var: min_low(0);
if min_low=0 then
? ? ? ? min_low=low
else if min_low>Low then
? ? ? ? min_low=low;
//代碼2
var: min_low(9999); //初始值要設(shè)置的比商品合約的價(jià)格大很多
if min_low>Low then
? ? ? ? min_low=low;
兩者的區(qū)別在代碼中就很明顯了。
?
第一種是需要再比較一下與0的價(jià)格,第二種就不需要了對(duì)嗎
?
對(duì)的。因?yàn)榈谝环N情況,min_low的初始值為0,所以它始終比所有的價(jià)格低,如果通過(guò)代碼2中的代碼與價(jià)格比較的話,那么最后的結(jié)果肯定也是0,這個(gè)結(jié)果是不正確的。
如果將min_low的初始值設(shè)置的足夠大,例如9999,那么代碼2中的程序第一次執(zhí)行時(shí)就將min_low賦值為當(dāng)根bar的最小值。
?
對(duì)的。因?yàn)榈谝环N情況,min_low的初始值為0,所以它始終比所有的價(jià)格低,如果通過(guò)代碼2中的代碼與價(jià)格比較的話,那么最后的結(jié)果肯定也是0,這個(gè)結(jié)果是不正確的。
如果將min_low的初始值設(shè)置的足夠大,例如9999,那么代碼2中的程序第一次執(zhí)行時(shí)就將min_low賦值為當(dāng)根bar的最小值。