C++, 3DGame
查看一個(gè)與別人合作的項(xiàng)目的代碼,發(fā)現(xiàn)了一個(gè)“隱秘”的問(wèn)題,模擬這個(gè)問(wèn)題如下:
幸運(yùn)時(shí)這里它不會(huì)導(dǎo)致錯(cuò)誤,這是由于:<1>我們使用C/C++的默認(rèn)函數(shù)調(diào)用方式__cdecl,也就是傳入的函數(shù)參數(shù)是由調(diào)用者清理的;<2>函數(shù)foo2沒(méi)有使用任何參數(shù)。這種做法肯定不值得提倡,但實(shí)際的項(xiàng)目中要避免還是不太容易,畢竟每個(gè)人的習(xí)慣不一樣,還有為了與框架協(xié)同工作,有時(shí)候可能也不得不這樣做。但是,一旦函數(shù)調(diào)用方式發(fā)生改變,或者被強(qiáng)轉(zhuǎn)的那個(gè)函數(shù)是帶參數(shù)的,而它又使用了這些參數(shù),隱秘的錯(cuò)誤也就埋下了。
posted on 2007-03-07 13:38 Kooyu 閱讀(3066) 評(píng)論(1) 編輯 收藏 引用
思考中~~~ 回復(fù) 更多評(píng)論
Powered by: C++博客 Copyright © Kooyu