Problem mit "Hello Word"



  • 😃 😃 😉 😉 🕶 🕶

    haha, jeder Anfanger hat solche Probleme getroffen? zumindest ich und PhilippC 😞
    also,
    1. <iostream> statt <iostream.h>
    2. tippe bitte "using namespace std;" sonst jedes mal mit "std::"
    warum? frage in halb Jahr,bitte. Wenn du cleve bist, in 3 Monate 😃

    #include <iostream>
    using namespace std;
    int main ()
    {
    dann kannst du Code schreiben, C++ geniessen!
    }
    

    viel Erfolg
    damo



  • 1. <iostream> statt <iostream.h>

    müsste aber so weit ich weiß auch so gehen.



  • sorry,ich bin auch Anfanger.
    <iostream> statt <iostream.h> warum? keine Ahnung. wahrscheinlich wegen neu Compiler, ich bitte auch hier Informatiker um erklären. Vor einem Jahr habe ich mit Unix gearbeitet, damals versucht trotz bei <iostream.h> komilieren, nur eine Warnung-Meldung, aber trotzdem Programm kann kein Problem richtig laufen.

    bei "namespace", ich habe gemeint, schritt für Schritt C++ lernen, dann kann man in ein paar Monate erst(bei mir ein Semester) das "namespace" gelernt haben. Davor gibt es viele C/C++-Kenntnisse zu geniessen.

    Gruß
    damo



  • so weit ich weiß ist die endung .h noch von C zeit und wurde halt mit übernommen.



  • 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 Kouji

    also 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 Kouji

    ps: 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
    akari

    Und 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


Anmelden zum Antworten