Re: [語法] 請問回傳值形態不同,函數如何宣告

看板C_and_CPP作者 (我想把整片天空打開)時間15年前 (2010/05/11 16:35), 編輯推噓1(104)
留言5則, 3人參與, 最新討論串5/6 (看更多)
我覺得這跟本不該用傳回值來表達餘額不足,該用 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

05/12 00:50, , 1F
為啥要用size_t 而不是unsigned?
05/12 00:50, 1F

05/12 10:13, , 2F
個人偏好
05/12 10:13, 2F

05/13 08:43, , 3F
我也覺得這兩個方法比原本的邏輯要清楚,原本的容易混淆
05/13 08:43, 3F

05/13 08:46, , 4F
當你要debug時就很麻煩了,而且假設錯誤輸出有兩種error
05/13 08:46, 4F

05/13 08:46, , 5F
就不好判斷了。
05/13 08:46, 5F
文章代碼(AID): #1BwOTlLk (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1BwOTlLk (C_and_CPP)