檢查傳入引數

2021-04-21 00:03:50 字數 852 閱讀 3254

對函式傳入的引數進行檢查:1 既能提高程式的效率;2 也能使程式變得更健壯,防止程式執行時崩潰

可從以下方面入手:

1 傳入指標,需檢查指標是否有效。

void f(char *p)

}2 傳入的是陣列下標,對下標範圍檢查。

intoperator (int c_iindex)}

當然,還有其他很多情況,對函式傳入的引數進行檢查是一種很好的程式設計習慣。

如果傳入的引數不合法,解決方法:

為了照顧debug和release,可如下做

intoperator (int c_iindex)

}

今天寫了個程式,先建立乙個視窗:

hwnd hwnd = createwindow(

text("d3d tutorial 1"), 

100, 

100, 

300, 

300,

null, 

null, 

wc.hinstance, 

null 

);

然後建立乙個3d裝置

if(failed(g_pd3dobj->createdevice(

d3dadapter_default,

d3ddevtype_hal,

hwnd,

d3dcreate_software_vertexprocessing,

&d3***,

&g_pd3ddev

)))

結果這個函式總是返回錯誤,找了很久,原來是建立視窗時沒有成功,也就是hwnd為null,而我在建立視窗時沒有檢查是否建立成功。。。。。。。。。。。。。。。。。。。。

檢查函式傳入引數的合法性

python是一門動態語言,因此在呼叫函式的時候,可以傳入任何型別的資料,而他又是一門強型別語言,當傳入的引數不合法時,便會在內部報錯。為了減少這一錯誤的發生,python從3.5開始引入了函式註解,如下所示 def fn x int,y int pass配合inspect模組,可以有效的檢查傳入函...

php傳入引數

專案中時常會使用php編寫指令碼,進行一些統計與批量更新的需求需要進行操作 其中使用的方式主要是getopt函式,寫法如下 opt getopt m n value m opt m value n opt n 命令列下執行的方式是php test.php m hisen n king if argc...

執行緒傳入多個引數

2種方式 一 把引數當做全域性變數,不過這個藐視 結構不合理,個人覺得還是結構體指標的方式比較好。二 定義乙個結構體的指標傳入 21 struct param 45 int fd 0 46 string deskey 47 param a 48 a.fd fd 49 a.deskey deskey ...