Dev-cpp "zu" aktuell für fast alle Tutorials / ebooks ??



  • Hallo,

    ich habe mir den dev-cpp downgeloadet, jedoch funktionieren nur die aktuellsten Codes.

    Beispiel:
    Dies funktioniert nicht:

    #include <iostream.h> 
    void main() 
    { 
    // Hello World 
    cout<<"Hello, world!"<<endl; 
    };
    

    Dies funktioniert:

    #include <iostream> 
    int main() 
    { 
      // Hello World 
      std::cout << "Hello, world!" << std::endl; 
    
      return 0; 
    }
    

    Jedoch findet man nirgendwo ebooks oder Tutorials, die diese Neuerungen in C++ schon behandeln.
    Kann ich mir irgendwo so ein Tutorial / ebook downloaden?
    Kann ich einen Zusatz zum dev-cpp / eine andere Version des dev-cpp downloaden, mit dem ich auch alte Codes verwenden kann?

    Für Ratschläge wäre ich sehr dankbar!



  • Die Änderungen sind ja nicht so gravierend. Und "void main ()" ist nunmal genau genommen kein Hauptprogramm für C++.

    Ich finde es gerade für Anfänger wichtig, dass sie hier einen Fehler bekommen und nicht veralteten Code schreiben!

    Also ja keinen älteren Compiler herunterladen, was ist denn das für eine Denkweise. Du sollst ja sowieso keine 1:1-Kopien machen sondern dabei auch denken, sonst lernst du nie. Also schön brav den neuen C++-Standard einhalten solange du C++ lernst (Nachher natürlich auch).

    www.volkard.de -> Der Beginn des neuen Programmierkurses ist bereits im neuen Standard. Der neue Kurs ist zwar noch nicht fertig, aber du solltest "int main ()" schnell kapiert haben und kannst ja dann die Quellcodes im alten Kurs in den neuen Standard übersetzen.

    MfG SideWinder



  • zieh dir "thinking in c++" vol 1 und 2. die besten ebooks die ich je gesehn hab. allerdings englisch



  • machs mal so 😉

    #include <iostream> 
    using namespace std;
    void main() 
    { 
    // Hello World 
    cout<<"Hello, world!"<<endl; 
    };
    

    ich hab noch nie gehört, dass cout ohne den namespace std auskommt..

    burnner



  • void main(){} ist verkehrt, richtig ist int main(){}.

    Man benötigt kein return 0; im neuen C++-Standard.

    Für die Windows-Konsole empfehle ich #include <conio.h> mit getch(); um das "Aufblitzen" zu vermeiden.

    Damit man nicht immer std::irgendwas schreiben muss, verwendet man einfach using namespace std;

    Beispiel:

    #include <iostream> 
    #include <string> 
    #include <conio.h>
    
    using namespace std;
    
    int main( )
    {
      string s; 
      s = "Das ist ein String."; 
      cout << s << endl; 
      getch();
    }
    

    Über diese schwachsinnige Hürde muss leider jeder Anfänger drüber. Die meisten Tutorial-Schreiber sind einfach zu bequem, ihren überholten Code zu aktualisieren.

    Diese Tutorials empfehle ich:
    http://www.cpp-tutor.de/cpp/index.html
    http://tutorial.schornboeck.net/inhalt.htm
    http://de.geocities.com/throni3/cpp/Inhalt.html

    Damit solltest Du klar kommen. 😉

    Für später:
    http://www.gotw.ca/gotw/



  • oder kauf dir ein buch über ISO C++ das sollte jeder Compiler verstehen



  • oder kauf dir ein buch über ISO C++ das sollte jeder Compiler verstehen

    Nein, leider nicht. Die Compiler, die man so findet, reichen von MS DOS bis in die Moderne. Damit spiegeln diese die jeweilige Sprachwelt. Für den Anfang fährt man gut mit der IDE Dev-C++ 4.9.8.x



  • Hab ich selber drauf und muss sagen, dass der bis jetzt alles verstanden hat was ich eingetippt habe (bis auf die fehler natürlich 😃 )



  • erlkoenig schrieb:

    ich habe mir den dev-cpp downgeloadet, jedoch funktionieren nur die aktuellsten Codes.

    Dinge, die über 6 Jahre alt sind, finde ich nicht sonderlich aktuell.

    Jedoch findet man nirgendwo ebooks oder Tutorials, die diese Neuerungen in C++ schon behandeln.
    Kann ich mir irgendwo so ein Tutorial / ebook downloaden?

    zB. http://tutorial.schornboeck.net/inhalt.htm

    Andere Tutorials, die noch den Vorstandards Stil benutzen, lohnen sich idr. eh nicht mehr, wenn du C++ lernen willst.



  • http://fara.cs.uni-potsdam.de/~kaufmann/?page=Startseite
    ebenfalls empfehlenswert, vor allem die ausgewählten Links.



  • Erhard Henkes schrieb:

    [...]
    Für die Windows-Konsole empfehle ich #include <conio.h> mit getch(); um das "Aufblitzen" zu vermeiden. [...]

    Einerseits propagierst du den Standard, aber dann sowas? Ein cin.get() tuts auch.



  • Ich kann verstehen, wenn jemandem getch() nicht gefällt, aber es funktioniert, was man von cin.get() nicht sicher sagen kann. Also posten wir auch noch die Standard-getreue Lösung:

    #include <iostream>
    
    void wait()
    {
        std::cin.clear();
    
     // std::cin.ignore( std::cin.rdbuf()->in_avail() ); 
        std::streambuf* pbuf = std::cin.rdbuf();
        std::streamsize size = pbuf->in_avail(); 
        std::cin.ignore(size);
    
        std::cin.get();
    }
    
    int main()
    {
        //...
        wait();
    }
    

    Erklärung für obigen Code, siehe: http://tutorial.schornboeck.net/hello_world.htm



  • Fein 👍


Anmelden zum Antworten