#include <*>
-
Hi
Ich bin ja neu im C++ progrmmieren wollt mal wissen warum diese Befehle am anfang eines Programms stehen#include <limits>
#include <iostream>
#include <stdio.h>
#include <sstream>
#include <string>
using namespace std;und ob es nochmehr davon gibt und was die einzelnen befehle machen.
Gruß
-
Hi
-
#include ist eine Präprozessordirektive. Das heißt, das du hier dem Compiler sagst (bzw dem Präprozessor, der vor dem Compiler automatisch aufgerufen wird) die Dateien die da stehen in dein Programm einzufügen. Dadurch kannst du Bibliotheken verwenden.
-
using namespace std
Hier definierst du, dass als grundsätzlicher "Namespace" "std" verwendet werden soll. Wenn du jetzt beispielsweise eine Ausgabe auf der Konsole machen möchtest musst du nur noch cout statt std::cout schreiben. Namespaces sind aber eigentlich dafür da, doppelte Namen auseinander zu halten. Verwendest du jetzt in deinem Programm auch eine Variable die cout heißt dann bekommst du einen Fehler. Nebenbei das ist ganz böse und solltest du unterlassen
..
Um mal kurz was auszuprobieren kannst du schon "using namespace std" schreiben aber in einem größeren Programm ist es sicher sinnvoll die zusätzliche Schreibarbeit für das std:: aufzubringen.
Grüßle Oli
-
-
okay un wozu sin stehen die namen in den <>
<limits>
<iostream>
<stdio.h>
<sstream>
<string>
-
Das sind die Namen der (Header-)Dateien, die Du einbindest.
Da kann übrigens alles stehen ... auch "Dok1.doc". Der Präprozessor muss es nur finden und der Compiler verstehen können....Gruß,
Simon2.
-
Hurricane_neo schrieb:
okay un wozu sin stehen die namen in den <>
<limits>
<iostream>
<stdio.h>
<sstream>
<string>Es gibt zwei Variationen:
#include <iostream>: Hier sagen die spitzen Klammern, dass in den Standard-Pfaden gesucht werden soll. (ganz genau wird nach der iostream.h gesucht)
#include "myclass.h": Hier wird innerhalb deines Projekts gesucht, wenn du beispielsweise eigene Klassen schreibst.
Grüßle Oli
-
woher weiß der präprozessor eigentlich welche header dateien existieren und wo diese liegen, wenn sie mit diesen <> klammern eingebunden werden? gibt es sowas wie eine zentrale bibliothek?
-
was sind "klassen"??
und wie kann ich eigen klassen schrieben??
und wozu is die iostream.h??
-
Kauf Dir mal ein Buch über C++.
-
#include <iostream>: Hier sagen die spitzen Klammern, dass in den Standard-Pfaden gesucht werden soll. (ganz genau wird nach der iostream.h gesucht)
Eigentlich wird ganzgenau nach dem File iostream (ja, ohne Endung) gesucht.
Simon
-
woher weiß der präprozessor eigentlich welche header dateien existieren und wo diese liegen, wenn sie mit diesen <> klammern eingebunden werden? gibt es sowas wie eine zentrale bibliothek?
Nope. Kannst du ihm einstellen, oder wenn du von Hand (per cmd) compilierst, angeben.
#include <iostream>Hier sagen die spitzen Klammern, dass in den Standard-Pfaden gesucht werden soll. (ganz genau wird nach der iostream.h gesucht)
Hmm eigtl. sucht er in dem Fall
1. nach iostream(ohne .h)
2. Wenn er die Datei dort nicht findet, sollte er auch in deinem Projektverzeichnis suchen.#include "myclass.h"Hier wird innerhalb deines Projekts gesucht, wenn du beispielsweise eigene Klassen schreibst.
Quark mit Soße
Er sucht im Verzeichnis, in dem dein Projekt liegt (makefile :P) nach der Datei.#include <limits> #include <iostream> #include <stdio.h> #include <sstream> #include <string> using namespace std;Hmm <stdio.h> wirst du unter C++ zu 85% nicht mehr brauchen. using namespace std solltest du global eigtl. dir besser nicht angewöhnen. Lokal ist es okay.
Ich weiß nicht was du dir da für nen Code angeguckt hast, doch du scheinst gerade das std::numeric_limits-Template, std::basic_ostream o. std::basic_istream, std::basic_stringstream und std::basic_string zu nutzen. Sonst sind die eingebundenen Header nicht korrekt
-
es sollte nicht stdio.h sondern cstdio inkludiert werden. stdio.h nur, wenn kein cstdio vorhanden ist. die häufigsten c-header files (stdio, stdlib, ...) haben in c++ die form cHEADER_NAME_OHNE_PUNKT_H .
EDIT: wenn du iostream eh schon inkludiert hast, fragt sich, für was du stdio noch brauchst

-
Wenn du lesen könntest, fragt sich warum du überhaupt noch geantwortet hast.