| Impossible is nothing |
|
|||
| 愛過知情重醉過知酒濃 花開花謝終是空 緣份不停留像春風來又走 女人如花花似夢 | ||||
|
公告
日歷
統計
導航常用鏈接留言簿(4)隨筆分類(4)隨筆檔案(8)文章分類(77)文章檔案(91)相冊搜索最新評論
|
對函數的輸入參數進行適當的檢查
經常會有這樣的程序: foo(char* str) { int len = strlen(str); …… } char* GetUserName(struct user* pUser) { return pUser->name; } No!Please don’t do like that!。你應該先判斷一下傳進來的那個指針是不是為空(NULL)。如果傳進來的指針為空的話,那么,你的一個大的系統就會因為這一個小的函數而崩潰。一種更好的技術是使用斷言(assert)。當然,如果是在C++中, 使用引用要比指針好得多,但你也需要對各個參數進行檢查。寫有參數的函數時,首要工作,就是要對傳進來的所有參數進行合法性檢查。而對于傳出的參數也應該 進行檢查,這個動作當然應該在函數的外部,也就是說,調用完一個函數后,應該對其傳出的值進行檢查。當然,檢查會浪費一點時間,但為了整個系統不至于出現 “非法操作”或是“Core Dump”的系統級的錯誤,多花這點時間還是很值得的。
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() |
|
| Copyright © 笑笑生 | Powered by: 博客園 模板提供:滬江博客 |