Anzeige:
Ergebnis 1 bis 8 von 8

Thema: gutes C++ Tutorial ohne cout / cin?

  1. #1
    Registrierter Benutzer
    Registriert seit
    19.08.2005
    Beiträge
    19

    gutes C++ Tutorial ohne cout / cin?

    Ich beschäftige mich seit einiger Zeit mit Linux. Zuvor habe ich unter Windows XP eine zeitlang mit Delphi OpenGL-Programme geschrieben (zu schreiben versucht ). Jedenfalls will ich einen neuen Versuch starten, aber diesmal möglichst mit C++. aber dazu muss ich das erstmal beherschen...
    ich hab also bei google gesucht und auch ein par schlne deutsche Tutorials zu C++ gefunden, aber sobald ich die ersten Beispiele mit g++ compilieren wollte fing der compiler an zu meckern ich würde veraltete bibliotheken nutzen...
    Ich habe mich dann an eine C-einführung errinnert die ich mal mitgemacht hab und da wurde uns für die Ausgabe am Bildschirm empfohlen, nur noch printf aus der stio.h zu nutzen und nicht mehr die veraltete cout Funktion!
    Gibt es denn schon Tuts die sich auf die neuen Bibliotheken beziehen?
    Tipps und Links wären sehr nett
    mfg
    RoCMe

  2. #2
    Registrierter Benutzer
    Registriert seit
    17.04.2002
    Beiträge
    185
    Zitat Zitat von RoCMe
    Ich habe mich dann an eine C-einführung errinnert die ich mal mitgemacht hab und da wurde uns für die Ausgabe am Bildschirm empfohlen, nur noch printf aus der stio.h zu nutzen und nicht mehr die veraltete cout Funktion!
    Was war denn das für eine "C-einführung" ???
    Ja, in C verwendet man printf(), aber in C gab es nie ein cout!
    C++ ist etwas anderes, in C++ ist cout Standard, printf() ist C, man kann zwar theoretisch C code in C++ verwenden, dass ist aber in 99% aller Fälle alles andere als gut.
    Was du wahrscheinlich falsch gemacht hast:
    Du hast iostream.h eingebunden, richtig wäre iostream ohne .h.
    Du hast einfach cin und cout geschrieben, richtig ist std::cout und std::cin, da cout und cin im std namespace sind.

    For a world where freedom and knowledge survives the compiler! (https://www.fsfe.org)

    If art interprets our dreams, the computer executes them in the guise of programs!

  3. #3
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Mal ein einfaches Beispiel:

    Code:
    #include <iostream>
    
    using std::cout;
    using std::endl;
    
    int main()
    {
        cout << "Boo" << endl;
        return 0;
    }
    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  4. #4
    Registrierter Benutzer Avatar von SeeksTheMoon
    Registriert seit
    22.02.2002
    Beiträge
    762
    oder direkt "using namespace std;" eintragen.
    I haven't lost my mind - It's somewhere on a backup-disc

  5. #5
    Registrierter Benutzer Avatar von bischi
    Registriert seit
    10.04.2003
    Beiträge
    4.828
    Zitat Zitat von SeeksTheMoon
    oder direkt "using namespace std;" eintragen.
    Nicht zu empfehlen, es sei denn, du weisst ganz genau, was du damit machst! (Kann zu komischen Fehlern kommen, wenn du dann eine Funktion überschreibst)

    MfG Bischi

    "There is an art, it says, or rather, a knack to flying. The knack lies in learning how to throw yourself at the ground and miss it" The hitchhiker's guide to the galaxy by Douglas Adams

    --> l2picfaq.pdf <-- www.n.ethz.ch/~dominikb/index.html LaTeX-Tutorial, LaTeX-Links, Java-Links,...

  6. #6
    Registrierter Benutzer
    Registriert seit
    15.05.2004
    Ort
    Berlin
    Beiträge
    6
    Zitat Zitat von bischi
    Nicht zu empfehlen, es sei denn, du weisst ganz genau, was du damit machst! (Kann zu komischen Fehlern kommen, wenn du dann eine Funktion überschreibst)

    MfG Bischi
    eben,
    lass einfach das std:: vor cout/cin/ifstream/ofstream/etc...
    Hat schon nen Grund, warum das im Standard so beschrieben ist.

    gruss,
    Malte
    :)

  7. #7
    Registrierter Benutzer
    Registriert seit
    18.03.2005
    Beiträge
    211
    Der arme Neueinsteiger

    aber diesmal möglichst mit C++
    dann verwend auch c++ ....
    nen teil vom standard ist die STL, und mit ihr auch die iostream lib
    iss nen wesentliches konzept

    aber sobald ich die ersten Beispiele mit g++ compilieren wollte fing der compiler an zu meckern ich würde veraltete bibliotheken nutzen...
    Ja, das ist das eigentlich problem an c++, es gibt zwar nen standard, aber keiner haelt sich zu 100% dran ....

    und es gibt zu viele schlechte buecher auf dem markt ... die entweder zu veraltet sind, oder kompilerspezifische abweichungen vom standard propagieren ....

    wenn diese huerde umschifft hasst, bist schon nen ganzes stueck weiter ...

    zum iostream thema :

    cin, cout cerr sind nich veraltet, im gegenteil ... weiterhin fester bestandteil der STL.
    nur nun im namespace std angesiedelt

    namespaces sind ne total nuetzliche erweiterung, helfen dir namenskonflikte zu vermeiden, und objekte intuitiv benamen zu koennen.
    sowas setzt man nich ausser kraft in dem man gleich mal mittels using die namespaces global macht ... schreib lieber std::cout
    Alte und neue version der STL erkennt man an den headern ...
    mem inlcude <iostream.h> zum beispiel iss die alte version, und cin cout sind im globalen namespace. Wird von einigen compilern nich mehr unterstuetzt, zumindest sollt es aber angemeckert (warning) werden
    die neue version ist <iostream> (ohne das .h) und da sind cin cout correct im std namespace ....

    mit dem wissen sollte man selbst den veralteten besipielcode zum laufen bringen , bzw auf korrekten neuen stand bringen ...

    noch nen stolperstein ist die main funktion ...
    die richtige signatur ist :
    int main() , oder int main( int argc, char *argv[ ])
    und nicht void main() !

    Ciao ...

  8. #8
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Zitat Zitat von RoCMe
    aber sobald ich die ersten Beispiele mit g++ compilieren wollte fing der compiler an zu meckern ich würde veraltete bibliotheken nutzen...
    Alte Syntax
    Code:
    #include <iostream.h>
    #include <irgendeinenanderenstandardheader.h>
    ...
    
    cout << "Hallo" << endl;
    Neue Syntax
    Code:
    #include <iostream>
    #include <irgendeinenanderenstandardheader>
    ...
    
    std::cout << "Hallo" << std::endl;

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •