Unterschied #include <string.h> und #include <string>
-
Hallo Leute!
Es gibt ja die C++ Standard Bibliotheken:
Nun die Frage:
Was ist der Unterschied wenn ich
#include <string.h> einbinde oder #include <string>
Das gleich gilt für:
#include <stdlib.h>
#include <stdio.h>
...Gibt es überhaupt einen Unterschied?
Gruß
WAR][FIRE
-
.h sind nicht im namespace std. C++'ler verwenden die ohne .h.
-
Wie gesagt, Header der C++-Standardbibliothek haben grundsätzlich keine Dateiendungen.
C++-Header sehen so aus:
#include <iostream> #include <string> #include <algorithm> #include <vector>
C-Header, die früher eine Endung .h hatten, haben nun keine Endung mehr, dafür ein vorgestelltes "c":
#include <cstdio> #include <cstring> #include <cctype>
-
WAR][FIRE schrieb:
Was ist der Unterschied wenn ich
#include <string.h> einbinde oder #include <string>
<string.h>
ist ein C-Header für C-String-Funktionen. Diesen Header gibt es in C++ nicht.<cstring>
ist ein C++-Header für C-String-Funktionen, die im Namespace std liegen.<string>
ist ein C++-Header für C++-String-Klassen. Hat absolut nichts mit den oberen zwei Header zu tun.
-
Alles klar danke!
-
C++ Header Übersicht:
http://www.cplusplus.com/reference/Grüssli