C++ 0x有兩個預定義的error_category
對象:generic_category()
和system_category()
。根據我迄今爲止瞭解的內容,system_category()
應該用於操作系統返回的錯誤,generic_category()
應該用於std::errc
中的通用值,它們對應於errno
的值。我應該在Unix上使用system_category或generic_category作爲errno嗎?
但是,在類Unix系統上應該做些什麼,其中errno
值是操作系統返回的錯誤?我是否應該使用system_category()
(在非類Unix系統上會出錯,需要#ifdef
),還是應該使用generic_category()
(對於非標準errno
值,在類Unix系統上會出錯)?
閱讀答案後,我仍然不確定要使用什麼。 – robert