Problem mit "Hello Word"
-
dann gibt's aber keinen namespace std!
BTW: Wofür denkst du sind Standards gut?
Mit ISO/IEC 14882:1998 ist damit seit 1998 (!!) schon schluss!
Guckst du:
<edit>URL entfernt!</edit>ISO/IEC 14882:1998 schrieb:
17.4.1.2 Headers
[...]
2 The C++ Standard Library provides 32 C++ headers, as shown in Table 11:
Table 11 - C++ Library Headers
<algorithm> <iomanip> <list> <ostream> <streambuf>
<bitset> <ios> <locale> <queue> <string>
<complex> <iosfwd> <map> <set> <typeinfo>
<deque> <iostream> <memory> <sstream> <utility>
<exception> <istream> <new> <stack> <valarray>
<fstream> <iterator> <numeric> <stdexcept> <vector>
<functional> <limits>Greetz, Swordfish
-
@Swordfish
Bitte keine illegalen Download-Quellen posten!
Kostenlos gibt es den Final Draft: http://www.kuzbass.ru:8086/docs/isocpp/
Den C++ Standard muss man käuflich erwerben.
-
Vielen Dank,
ihr habt mir sehr geholfen.
-
Ich verstehe etwas hier nicht - ich dachte SGI hat die beste C++ Implementation, oder?
Hier ist die offizielle Webseite von STL.
Und hier kann man kostenlos die Bibliotheken herunterladen.
-
@HumeSikkins: War keine absicht. Den ISO/IEC 14882:1998 findet man sooo oft im Netz, das ich nicht vermuten konnte, er wäre nicht Publick Domain.
Greetz, Swordfish
-
ich möchte auch das fenster offen halten aber es geht nicht
getchar(); exit (1);kann es sein das ich exit weg lassen müsste? oder warum schließt sich das fenster trotz getchar immer noch?
MfG Kouji
-
Hallo
hier findest du wie du es in C++ richtig machst.
Und das exit kannst und solltest du weglassen.bis bald
akari
-
Kouji schrieb:
ich möchte auch das fenster offen halten aber es geht nicht
getchar(); exit (1);kann es sein das ich exit weg lassen müsste? oder warum schließt sich das fenster trotz getchar immer noch?
MfG Koujialso falls da zufällig noch das "return 0" drüber stehen sollte, dass muss drunter, denn da wird sofort beendet, egal ob da noch was druntersteht oder nicht.
-
ja danke habe ich schon gelöst das problem ist
cin.clear(); cin.ignore(std::cin.rdbuf()->in_avail()); cin.get();vielen dank
MfG Koujips: exit sollte in meien fall stehen blieben weil es mehrere switches hat un dan verschieden stelen enden soll
-
Hallo
exit sollte in meien fall stehen blieben weil es mehrere switches hat un dan verschieden stelen enden soll
Nein du solltest es auch dort rausnehmen, und durch passende Funktionen und returns ersetzen.
Das mag bei dir vielleicht noch keine Rolle spielen, aber exit führt keine Destruktoren aus, vor allem keine lokalen.bis bald
akari
-
Ich habe ja erst vor ein paar tagen angefangen was sind denn Destruktoren und beendet der das fenster auch bei jedem return?
-
Hallo
Destruktoren sind bestimmte Funktionen von Klassen, die beim Ende der Lebenszeit von Objekten betimmte Sachen aufräumne, wie zum Beispiel Speicher freigeben.
Ein return beendet immer genau die lokale Funktion. Schreibst du also ein return in die main, wird die main beendet und damit auch dein Programm.
bis bald
akari
-
Ich weis ja nicht, wie ihr das seht, aber ich bin schon fro, dass da kein "void main" steht

-
akari schrieb:
Hallo
Destruktoren sind bestimmte Funktionen von Klassen, die beim Ende der Lebenszeit von Objekten betimmte Sachen aufräumne, wie zum Beispiel Speicher freigeben.
Ein return beendet immer genau die lokale Funktion. Schreibst du also ein return in die main, wird die main beendet und damit auch dein Programm.
bis bald
akariUnd das soll einer verstehen der sich erst seit ein paar Tagen mit C++ beschäftigt

-
also die leeren den gesammten speicher oder habe ich da was falsch verstanden?
-
Kouji schrieb:
also die leeren den gesammten speicher oder habe ich da was falsch verstanden?
nein
angenommen du reservierst speicher im konstruktor oder sonstwo
CClass::CClass(){ m_TChar = new TCHAR[20000]; SecureZeroMemory(m_TChar, 20000); }musst du das auch wieder loeschen
CClass::~CClass(){ delete [] m_TChar; m_TChar = NULL; }wenn du das programm mit return beendest wird dieser desktruktor aufgerufen und die 20000 zeichen reservierung geloescht,
wenn du aber per exit das programm verlaesst
wird dieser destruktor nicht mehr ausgefuehrt, das dazu fuehrt das du im speicher ein bereich von 20000 zeichen hast welche du nicht mehr benutzen kannst und auch nicht andes freigeben da du nicht mehr weisst wo dieser ist
stichwort memory-leak