Welche Bibliothek soll ich benutzen?
-
Hi,
aus C kenne ich die bekannten stdio.h, conio,h, math.h und time.h, doch in C++
soweit ich weiß gibt es drei verschiedene Arten von Biliotheken.1. C Bibliotheken(beginnen mit einem vorangestelltem c, cmath,ctime, usw.)
2. C++ Bibliotheken welche sich nochmals unterscheiden lassen in
a) iostream
b) iostream.hMeine Frage, welche Biblioteken sollte man benutzen, höchstwahrscheinlich die von
C++, aber sind der Include von iostream und iostream.h identisch oder wird da
etwas anderes includiert?Und kann mir jemand mal für folgende C-Bibliotheken die C++ Alternative sagen:
stdio.h und conio.h
-
<iostream.h> ist nicht Teil von C++. Vor der Standardisierung von C++ gab es viele Compiler, die diesen Header anboten, aber im C++-Standard gibt es nur <iostream>.
Was C-Standard-Header angeht, so sind diese in C++ noch enthalten, aber als veraltet markiert. Es ist besser, die C++-Wrapper zu verwenden, etwa <cstdio> statt <stdio.h>, <cstdlib> statt <cstdlib> etc, und es ist noch besser, Alternativen aus der eigentlichen C++-Standardbibliothek zu benutzen, wenn man keine guten Gründe hat, auf C auszuweichen. Der Unterschied zwischen <cstdio> und <stdio.h> ist im Wesentlichen, dass <cstdio> alles in den Namensraum std packt (wie alle anderen C++-Standardheader).
<conio.h> ist weder Teil von C++ noch von C; es handelt sich um einen alten DOS-Header. Er wurde nie standardisiert, also schweigt sich der Standard über ihn aus.
-
Dieser Thread wurde von Moderator/in rüdiger aus dem Forum C (C89 und C99) in das Forum C++ (auch C++0x und C++11) verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.
-
Die cXXX sind übrigens keine reinen Wrapper sondern enthalten teilweise auch ganz andere Funktionen. In den C++-Headern sind beispielsweise viele Funktionen überladen, was in den C-Kompatibilitätsheadern logischerweise nicht der Fall sein kann.