在我的編譯器項目,我有去像枚舉依託整數布爾轉換
enum Result {
No,
Maybe,
Yes
};
我已經把No
明確在第一位置,這樣我可以依靠的布爾評價false
枚舉。如果我的編譯器不確定某些事情,並且必須等到事件發生,那麼其分析函數將返回Maybe
。使用像
if(!typesEqual(t1, t2)) {
diagnose(types_unequal) << t1 << t2;
}
我不知道你或你的公司是否認爲它不好的風格不比較No
明確
if(typesEqual(t1, t2) == No) { /* ... */ }
明確的比較似乎羅嗦給我,但依靠隱布爾轉換莫名其妙讓我感到內疚。你之前有過這種感覺嗎,你是如何處理它的?
我想我會讓它成爲CW,因爲它似乎更像是一個風格問題! – 2010-07-07 03:36:32