收藏 C Tips 4 引數的檢查

2021-04-01 18:35:28 字數 667 閱讀 9903

/*這一系列文章《c++ tips》是公司code committee專家會推薦工程師看的,感覺很好,拿出來與大家共同提高。並不是知道多少會使人與人產生差別,真正的差別在於你能做到多少。

--coofucoo

*/

對函式的輸入引數進行適當的檢查

經常會有這樣的程式:

foo(char* str)

char* getusername(struct user* puser)

no!please don

』t do like that!

。你應該先判斷一下傳進來的那個指標是不是為空(null)。如果傳進來的指標為空的話,那麼,你的乙個大的系統就會因為這乙個小的函式而崩潰。一種更好的技術是使用斷言(assert)。當然,如果是在c++中,使用引用要比指標好得多,但你也需要對各個引數進行檢查。寫有引數的函式時,首要工作,就是要對傳進來的所有引數進行合法性檢查。而對於傳出的引數也應該進行檢查,這個動作當然應該在函式的外部,也就是說,呼叫完乙個函式後,應該對其傳出的值進行檢查。當然,檢查會浪費一點時間,但為了整個系統不至於出現「非法操作」或是「core dump」的系統級的錯誤,多花這點時間還是很值得的。

收藏 C Tips 8 指標引數

收藏 c tips 8 指標引數 這一系列文章 c tips 是公司code committee專家會推薦工程師看的,感覺很好,拿出來與大家共同提高。並不是知道多少會使人與人產生差別,真正的差別在於你能做到多少。coofucoo 函式的傳值和傳指標 向函式傳引數時,一般而言,傳入非const的指標時...

程式中引數的檢查

程式中引數的檢查 寫程式的時候,我們經常要寫引數檢查,就是在處理這個引數前對引數進行乙個合法性或者合理性的檢查。一般的情況下,大部分的人寫這個程式,習慣上就是在函式體裡面寫一次。例如 void test int num catch 這樣寫的話,數值得到了檢查得到了檢查,而執行的過程也得到了保證。只是...

python引數型別檢查 Python中的型別檢查

本文中所有 均執行在python 2.7上 為什麼要進行型別檢查?總所周知,python是一門典型的動態語言,在變數定義 使用的過程中遵循duck typing,當對某一變數進行操作時才去檢查它是否支援該操作。這在大多數情況下沒有什麼問題。但有時我們希望當面對非法型別的引數的時候採取某些預設處理機制...