1.在使用c++類的時候,private或protected的成員函式內一般不使用try...catch,而只使用throw,而在public函式中使用try...catch捕獲異常。所以private或protected成員函式一般都定義為void型別的返回值,而public成員函式需要返回值,但是返回值只是表示函式有無異常,無異常返回成功,有異常則失敗。在public函式就不需要去判斷每個private或者protected函式的返回值了 ,看起來會更清楚一點 如果該類相對於整個專案來說是屬於被呼叫層,那麼public成員函式也可以不使用try,catch。如果呼叫第三方的**,我一般都會(必須)用try...catch 。這樣函式的出口只有乙個地方,也就是只有乙個return。
總之:寫在上層函式要使用try...catch;寫在底層函式使用throw
2.返回值
1.類的私有和保護函式沒有返回值,通過異常丟擲
2.類的公共函式有函式返回值 並且返回值的應該巨集定義在標頭檔案中,例如
typedef int common_err;
const int common_ok = 0;
#define common_succeeded(status) ((common_err)(status) == common_ok)
#define common_failed(status) ((common_err)(status) != common_ok)
#define common_if_failed_then_throw(status)
私有
void ctest::__inita()
公共common_err fun1();
common_err fun2();
common_err fun3();
common_err fun()
catch (common_err & err)
return nerror;
}
3.變數名和函式名的命名一定要有含義
4.程式中不要使用goto語句
標準沒有規定C C 表示式求值順序
對於表示式,標準並沒有規定計算順序,所以下列 的執行結果存在多樣性 include stdio.h int main vc 6.0 m 4,n 7 vc 2013 m 4,n 9 gcc 4.1.2 m 4,n 7 gcc 4.6 m 4,n 7 gcc 4.7 m 4,n 7 gcc 4.7 c ...
CC2的評價與自我感受
cc2,即 大全 第二版已經出版了一段時間,經過兩次的憂鬱,上次去書店咬咬牙買了下了,早就聽說這本書的威力,翻了幾頁之後感覺確實有不少很實用的地方,只不過覺得可能現在自由時間不太多,買了之後可能沒時間看所以才不肯出手,但畢竟是我認為比較經典的書,還是將它放到了我的書架上,希望可以從中吸取到一些精髓。...
直方圖規定化
直方圖等化可以獲得具有均勻直方圖的輸出影像,主要用於增強影像對比度,操作簡單且結果可預知。但有時候使用者希望能控制轉換的方式,或者能夠指定直方圖的輸出影像,這樣就能選擇性的增強某個灰度範圍內的對比度,或者讓影像灰度滿足某種特定的分布,這種產生特定直方圖影像的方法就叫直方圖規定化。直方圖規定化為產生特...