hallo world



  • Zenter schrieb:

    Ich habe auch dieses Buch und soweit bin ich klar gekommen. Namensräume werden ab Seite 141 näher erläutert. Viel spaß 🙂

    Jau. Und auf Seite 32, im Kapitel "Das erste Programm", wird das auch so beschrieben, daß using namespace später noch genauer erklärt wird. Mit Seitenangabe. Und dort steht auch int main().



  • küche schrieb:

    ...ja das hallo welt hab ich nur so jetzt aus dem internet, ich programmiere mit code::blocks und gcc. also void ist wohl auch so ein daten typ und nicht mehr aktuell oder wie?...

    zu namespace
    also ist das so eine art vriablen deffinition ?

    void f() { ; }  // Funktion auffindbar im globalen Namensraum
    namespace MTF            
    { 
      void f() // Funktion auffindbar im Namensraum MTF
      {
        throw std::exception("f - ausgelöst");
      };
    }
    Im Folgenden der Aufruf:
    void g()
    {
      f();                       // f() aus globalem Namensraum wird aufgerufen
      MTF::f();                  // f() aus Namensraum MTF wird aufgerufen
      using namespace MTF;       // Namensraum MTF wird sichtbar gemacht
      f();                       // f() aus Namensraum MTF wird in diesem Fall aufgerufen
    }
    

    using namespace sagt dem compiler, dass er auch in MTF suchen soll. Der letzte Aufruf von f() ist nicht eindeutig und der Compiler würde mecken.

    Dort müsste: ::f(); oder MTF::f(); stehen.



  • Sone schrieb:

    [...]
    Ja, stimmt. Frag nicht wieso ich das im Kopf hatte. Es war wegen dem Wikipedia-Artikel, der immer verlangt hat, dass <ostream> eingebunden wird. Daher hatte ich bis jetzt komischerweise gedacht, das... 😕 sry

    Hast Du auch nachgedacht und mal überlegt, warum das so ist? Oder hast Du danach das Denken aufgegegeben (Der Grund ist mit C++11 übrigens hinfällig geworden).



  • Ja, das Problem ist, std::ostream (bzw. basic_ostream ) wird ja in <ostream> definiert. Das hatte ich so verstanden. Dann hatte ich aber komischerweise in Erinnerung, dass auch std::cout dort definiert wurde. Das ist alles.



  • könnte man die MTF nicht ohne namespac deklarieren? und aufrufen, oder ist namespaces ein dateityp? P.S ich kann jetzt vom meinem Praktikum ans Internet



  • Das buch(der C++ Programmierer) find ich aber sher schwierig, langsam (bin auf Seite 82) mache ich mir sorgen, ob ich das demnächst noch verstehe. Ich gucke mir mal "c++ crashkurs für anfänger" von youtube an und vielleicht noch ein tetris quellcode...
    gibts vielleicht ein einfacheres buch oder ne Seite wie ich C++ lernen kann?


  • Mod

    zimmer schrieb:

    gibts vielleicht ein einfacheres buch oder ne Seite wie ich C++ lernen kann?

    Von nichts kommt nichts. C++ ist eine der schwierigeren Sprachen überhaupt. Du kannst das Lernen nicht abkürzen oder erleichtern. Erfahrungsgemäß sind besonders Youtubetutorials unbrauchbar und das Ansehen fremden Codes, besonders von Spielen, bringt einen überhaupt gar nicht weiter.

    Siehe meine Signatur für Buchtipps. Ein gutes Einstiegs(!)buch für C++ ist aber nun einmal ein 1500 Seiten Wälzer, da führt kein Weg dran vorbei.



  • dan bin ich ja ein Jahr nur mit dem Buch beschäftigt bevor ich programmieren kann. Der Typ von dem ich das Buch geliehen hab hat 250 Seiten gelesen und sagt kann immer noch nichts programmieren.
    ich kan jetzt schon Schleifen und was dann kam, hat nur noch verwirrt irgendwie arrys mit voll vielen unterschiedlichen daten Typen,ich kann doch nicht alle nutzen (z.B. für ein Tetris Spiel)manchmal verstehe ich nicht mal den Unterschied



  • Okay, und glaubst Du, wenn das Buch nur 100 Seiten hätte, könntest Du in 6 Wochen 'programmieren' (was auch immer Du damit meinst)?



  • Ich glaub mit ne Art Tutorial würde ich besser klarkommen, werden jetzt alle meinen ist einfach nur Abschreiben, aber wenn die Programmierwege erklärt würden, würde das ja ausreichen fürs erste.



  • Ich erzähle mal kurz meinen Werdegang im Bereich der Programmierung:
    -nach HTML kam C: gelerent mit http://www.c-programmieren.com/C-Lernen.html (das war November 2011)
    -anschließend kam C für Dummies (Weihnachten)
    -im Frühjahr habe ich mir das Buch Spieleprogrammierung von Lennart Steinke ausgeliehen und verschlungen. Dort ging es teilweise um C++ (extrem schlechter Stil und veraltete Allegroversion, Vorsicht!), weswegen ich mir irgendein anderes (weiß echt nicht mehr welches...) C++ Buch ausgeliehen habe
    - bis zum Sommer: Wechsel der beiden Bücher, OOP aber erst mit Java gelernt und verstanden.
    - im Sommer: diverse Bücher teils aus Langeweile, teils just for fun gelesen
    - Herbst bis Winter: Schreiben diverser Minispiele
    - Winter: Angefangen mit 3D-Programmierung in OpenGl, parallel Lernen von C++11
    Ja, so lange kann ich C/C++ auch noch nicht.
    Meinen Stil hatte ich erst durch dieses Forum und durch die C++11 Bücher verbessern können. Also ideal war mein Weg definitiv nicht, aber er hat mich dahin geführt wo ich jetzt bin. Und alles in allem, hat das ein wenig über ein Jahr gedauert.
    Allerdings hatte ich jeden Moment genossen.



  • Weil im Buch heißt das erste Kapitel "Es geht los!" und da geht garnichts los, da lese ich 60 Seiten über Dateitypen: int, long und long long und ich glaub ist ehnlich nur mit komma: float, double, long double warum weiß ich nicht und bool also 1oder 0



  • Programmieren dauert nun mal seine Zeit!
    Du kannst nich direkt mit

    mach_mal_einen_lustigen_Ego_Shooter_wie_Call_of_Duty()
    

    Programmieren. Das funktioniert leider nicht!
    Du musst Geduld haben. Und du wirst länger brauchen bis du etwas hast, was einigermaßen einem Spiel oder sonst was ähnelt.
    Aber wenn dir C++ zu lange dauert, musst du etwas anderes lernen. BlitzBasic ist da gut geeignet.



  • zimmer schrieb:

    Ich glaub mit ne Art Tutorial würde ich besser klarkommen, werden jetzt alle meinen ist einfach nur Abschreiben, aber wenn die Programmierwege erklärt würden, würde das ja ausreichen fürs erste.

    Nein, würde es nicht. Du könntest mit Müh und Not zwar Programme zusammenbasteln, aber du hast drei Mal so lang wie ein Anfänger, der ein vernünftiges Buch gelesen hat. Und du wirst immer drei Mal so lang haben, weil du gewisse Techniken nicht einfach entdeckst, sondern irgendwo nachlesen musst. Fürs Debuggen wirst du übrigens noch viel länger haben, wenn du nicht gelernt hast, wie man Fehler vermeidet oder sicher programmiert.

    zimmer schrieb:

    da lese ich 60 Seiten über Dateitypen: int, long und long long und ich glaub ist ehnlich nur mit komma: float, double, long double warum weiß ich nicht und bool also 1oder 0

    Du liest 60 Seiten über Datentypen und glaubst? Hast du wirklich gelesen oder nur überflogen?

    Ich muss mich anderen anschliessen, man lernt C++ nicht mal eben. Wenn du die Sprache lernen willst, musst du motiviert und bereit sein, viel Zeit (Monate bis Jahre) zu investieren. Die Sprache ist äusserst komplex, entweder du lernst sie richtig oder gar nicht. Aber bitte mach nicht den gleichen Fehler wie schon tausende zuvor und wähle C++, nur weil das die coolen Spieleprogrammierer nehmen, wenn du selbst nicht den steinigen Weg gehen willst. Es gibt genügend viele Programmiersprachen, bei denen du leichter einsteigen kannst und die dir Fehler eher verzeihen.



  • es ist schon sehr kompliziert geschrieben finde ich ich werds wohl nochmal lesen müssen
    -hab mir die Sprache ausgesucht, weil ich mich auf eine Sprache stürzen wollte, habe bisher mit "game Studio" von "PC-Games" programmiert



  • lustigen_Ego_Shooter_wie_Call_of_Duty()

    CoD ist nicht lustig 😡 😃

    Ah, aber hier muss ich berechtigt eine Korrektur einwerfen:

    Ja, so lange kann ich C/C++ auch noch nicht.

    Du kannst es nicht. Sprich, du kannst es nicht nicht lange, sondern du kannst es nicht.
    Von "Können" sprechen wir nur bei Gurus wie seldon oder mein besonderer Favorit: camper. Die können behaupten, zu "können". Wir sind nur das niedere Fußvolk. 😃


  • Mod

    Sone schrieb:

    Von "Können" sprechen wir nur bei Gurus wie seldon oder mein besonderer Favorit: camper. Die können behaupten, zu "können". Wir sind nur das niedere Fußvolk. 😃

    Nun übertreib mal nicht. Fast jeder der Stammgäste hier kann schnell und sicher Programme schreiben, die man hinterher "gut" nennen würde. Wenn das kein "Können" ist, dann hast du viel zu hohe Ansprüche.

    Beispiel: Zum Können muss man nicht die Feinheiten der Namensauflösung bei Vermischung von Überladung und Templates auswendig kennen. Es reicht vollkommen zu wissen, dass es da etwas zu Wissen gibt und wo man es bei Bedarf nachschlagen kann. Man kann sogar damit davonkommen, sich einfach als best practice zu merken, dass man Templates und Überladungen besser nicht mischt. Das Programm eines solchen Programmierers sieht hinterher auch nicht schlechter aus als eines von camper, bloß der Denkprozess bis dahin ist ein etwas anderer.



  • SeppJ schrieb:

    Sone schrieb:

    Von "Können" sprechen wir nur bei Gurus wie seldon oder mein besonderer Favorit: camper. Die können behaupten, zu "können". Wir sind nur das niedere Fußvolk. 😃

    Nun übertreib mal nicht. Fast jeder der Stammgäste hier kann schnell und sicher Programme schreiben, die man hinterher "gut" nennen würde. Wenn das kein "Können" ist, dann hast du viel zu hohe Ansprüche.

    Beispiel: Zum Können muss man nicht die Feinheiten der Namensauflösung bei Vermischung von Überladung und Templates auswendig kennen. Es reicht vollkommen zu wissen, dass es da etwas zu Wissen gibt und wo man es bei Bedarf nachschlagen kann. Man kann sogar damit davonkommen, sich einfach als best practice zu merken, dass man Templates und Überladungen besser nicht mischt. Das Programm eines solchen Programmierers sieht hinterher auch nicht schlechter aus als eines von camper, bloß der Denkprozess bis dahin ist ein etwas anderer.

    👍



  • Ja, aber Menschen wie camper haben ein unglaublich tiefes Verständnis der Sprache und ihrer Bestandteile. Ich sage nicht, das ich auf geratewohl Code schreibe, ganz im Gegenteil. Aber ich kenne mich mit Templates einfach bei weitem nicht so gut aus wie er, geschweige denn von der Standard lib, und C++11.
    Oder sie dir Werner Salomon an. Er ist ein Stream-Gott. Du kannst nicht behaupten, dass meine Version eines .ini-Parsers jemals so gut sein könnte wie seine, weil er Streams einfach verstanden hat.



  • Das ist ja alles richtig, Sone, ich zB kenne mich mit Templates und C++11 überhaupt nicht aus, mit Streams kann ich bei weitem Werner nicht folgen, trotzdem würde ich nicht behaupten, dass ich nicht programmieren kann ...


Anmelden zum Antworten