C++ – unistd.h einbeziehen: warum nicht cunistd?

Lesezeit: 1 Minute

Es wird gesagt, dass beim Einbinden von C-Header-Dateien in C++ das Suffix „.h“ entfernt und dann „c“ am Anfang hinzugefügt werden sollte. Zum Beispiel, #include <cstdio> Anstatt von #include <stdio.h>. Aber wenn ich benutze sleep() In meinem Code, #include <cunistd> geht nicht, aber #include <unistd.h> funktioniert. Warum nicht <cunistd>?

Ihr Algorithmus ist für die meisten (alle?) Standard-C-Header korrekt, aber unistd.h ist nicht Teil von Standard-C, also enthält Standard-C++ es wiederum nicht mit dem anderen c... Kopfzeilen.

Da unistd.h war nie Teil der C-Sprache. Es ist Teil des Betriebssystems.

<unistd.h> steht für Unix-Standard-Header, der Name sagt alles.

  • …das sagt der Name!

    – Alois Mahdal

    1. März 2014 um 0:54 Uhr

  • unistd könnte genauso gut für “Universal Standard Header” stehen (ich weiß, das klingt ein bisschen lächerlich). Der Punkt ist, sie hätten es benennen sollen unixstd.h – Sofortige Klarheit durch Hinzufügen von nur eines Charakter.

    – Vicky Chijwani

    27. Juni 2014 um 8:42 Uhr

unistd.h ist nicht Teil von Standard-C. Die Standard-C++-Bibliothek schließt es nicht mit den anderen c-Headern ein.

1418100cookie-checkC++ – unistd.h einbeziehen: warum nicht cunistd?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy