關於 do ....while() 的重要用法
在實際的程式設計練習中迴圈語句的使用頻率是:for >while() >do....while()
當然推薦使用的也是上面的順序,但是在有的地方 do....while() 用的卻不是迴圈
的功能了,比如說:
do while(0);
此處,一般是不會去使用 do...while()語句的迴圈功能的,此處一般都是利用它的特性:即
先執行一次迴圈體然後再去測試條件是否成立。但是 do....while(0) 語句條件測試肯定是不能夠通過的,
只是利用了它的上半部分而已,但是這個上半部分在某一些特定的場合卻是十分有效的,因為它的邏輯就是只執行一次。/*尤其是在大量的巨集中運用,
運用的好的話,將會是事半功倍。
/*比如說這個巨集定義:#define foo(x) do while (0)
但是如果你是這樣的話:#define foo(x) bar(x); baz(x)
在乙個 if()選擇語句,可能答案就不一樣了*/
比如說:代替 goto() 語句
int something();
int clear();
int foo()
uif(error = 2)
end:clear();
set error handler 重要用法
set error handler這個函式的作用是為了防止錯誤路徑洩露 何為錯誤路徑洩露呢?我們寫程式,難免會有問題 是經常會遇到問題 有很多人說,這並沒有什麼大不了。確實,在除錯程式階段,這確實是沒啥的,而且我認為給出錯誤路徑是必要的。但洩露了實際路徑的後果是不堪設想的,對於某些入侵者,這個資訊可...
Django的forms包部分重要用法
1 from django.forms import fields 2from django.forms import form 3from django.forms import widgets 在views匯入 匯入包之後,定義乙個繼承自form的類並定義用於驗證的字段 1 class test...
建構函式使用要點以及重要用法
c 所有型別除了object都有父類,如果類在編碼時沒有寫父類,那麼在編譯時 編譯器會預設繼承object,這就是為什麼我們自己寫的類沒有繼承object卻可以用object類的方法 例如tostring 子類建構函式中,先呼叫父類的建構函式,子類建構函式的引數傳遞到父類建構函式中,因為建構函式和析...