Q
使用負枚舉的優點
3
A
回答
3
帶枚舉的常見C語言習慣是使用負值來表示一組條件和正值來表示另一組。例如,來自解析器的錯誤條件可能是全部正值,而正常條件具有全部負值,並且可能爲零是「未定義」的情況。因此,在您的代碼中,對任何錯誤進行測試都如同tok >= 0
一樣簡單。
2
我相信這些負值的用法只是表示代碼中特殊標記的一種方式。
在示例代碼中,有效令牌從0到255,因此超出此範圍的任何值都可以用於特殊令牌,如tok_eof。因此,因爲0到255不能用於枚舉,所以他們選擇使用負值,儘管他們可能已經使用了256,257,258等等。負值看起來比256,257,258 IMO更具原創性。
相關問題
- 1. Java中的枚舉。優點?
- 2. 使用flags枚舉有什麼優點和缺點?
- 3. 優勢採用枚舉
- 4. 優先枚舉名
- 5. 數據庫枚舉 - 優缺點
- 6. 使用列枚舉的LINQ表枚舉
- 7. 使用枚舉
- 8. 使用枚舉
- 9. 使用枚舉
- 10. 使用枚舉
- 11. 使用枚舉設計卡類 - 兩種不同設計的優點/缺點
- 12. MySQL枚舉性能優勢?
- 13. 優化雙迴路枚舉
- 14. 如字符串使用枚舉點網
- 15. 枚舉聲明點
- 16. 使用枚舉奇怪的SIGSEGV(Segmentation fault)使用枚舉
- 17. 使用枚舉的單例使用枚舉
- 18. 使用枚舉名
- 19. 枚舉使用python
- 20. 使用Java枚舉
- 21. 使用Rails枚舉
- 22. 使用NHibernate枚舉
- 23. 枚舉使用XSLT
- 24. 使用jQuery枚舉?
- 25. 使用枚舉集
- 26. 枚舉數組的常量和宏的優點?
- 27. 在Ruby中使用to_enum創建可枚舉對象的優點是什麼?
- 28. 枚舉的枚舉[JAVA]
- 29. 帶枚舉的MySQL枚舉
- 30. 負載枚舉成駱駝頭
事實上,例如說: //詞法分析器返回令牌[0-255],如果它是未知字符,已知事物的這些否則之一。 ..所以在這種情況下,正數將是標識符(在關鍵字等編譯器中不會是「已知事物」)。 – 2011-02-01 11:51:43