對函式傳入的引數進行檢查: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 ...