C ++ 0x имеет два предопределенных объекта error_category
: generic_category ()
и system_category ()
. Насколько я понял, system_category ()
следует использовать для ошибок, возвращаемых операционной системой, а generic_category ()
следует использовать для общих значений, найденных в std :: errc
, которые соответствуют значениям errno
.
Однако что следует делать в Unix-подобных системах, где значения errno
- это ошибки, возвращаемые операционной системой? Должен ли я использовать system_category ()
(что было бы неправильно в системах, отличных от Unix, требующих #ifdef
), или мне следует использовать generic_category ()
(что было бы неправильно в Unix-подобных системах для нестандартных значений errno
)?