看板 C_and_CPP 關於我們 聯絡資訊
我覺得這跟本不該用傳回值來表達餘額不足,該用 exception. 例: size_t getAccount() { if ( 錢不夠 ) throw exception_not_enough_money; ... } try { size_t money = getAccount(); } catch (exception_not_enough_money&) { cout << "餘額不足喔...." << endl; } 不然就是傳回一個 struct (或是 pair),裡面同時包含兩個欄位: struct Money { size_t money; bool valid; }; 第二個解法可以給不愛 exception 或不能用 c++ 的人. -- 好久沒貼文了,不知為何今天突然想回...XD -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.192.243.117
loveme00835:為啥要用size_t 而不是unsigned? 05/12 00:50
avhacker:個人偏好 05/12 10:13
sevenjay:我也覺得這兩個方法比原本的邏輯要清楚,原本的容易混淆 05/13 08:43
sevenjay:當你要debug時就很麻煩了,而且假設錯誤輸出有兩種error 05/13 08:46
sevenjay:就不好判斷了。 05/13 08:46