作者avhacker (我想把整片天空打開)
看板C_and_CPP
標題Re: [語法] 請問回傳值形態不同,函數如何宣告
時間Wed May 12 00:35:57 2010
我覺得這跟本不該用傳回值來表達餘額不足,該用 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