C ++ – включить unistd.h: почему бы не cunistd?

Говорят, что при включении файлов заголовков C в C ++ суффикс «.h» следует удалить, а затем добавить «c» в начале. Например, #include вместо #include . Но когда я использую sleep() в моем коде, #include не работает, но #include работает. Почему бы не ?

Ваш алгоритм корректен для большинства (всех?) Стандартных заголовков C, но unistd.h не является частью стандартного C, поэтому стандартный C ++, в свою очередь, не включает его с другими c... заголовками.

Потому что unistd.h никогда не был частью языка C. Это часть операционной системы.

, обозначает стандартный заголовок unix, имя говорит все.

unistd.h не является частью стандарта C. Стандартный C ++ lib не включает его с другими заголовками c.