Die meistgestellten Fragen



  • Tjo

    Greetz, Swordfish



  • .filmor schrieb:

    Dann hab ichs mit itoa verwechselt, sorry. Trotzdem gehört beides nicht in ein C++-Programm.

    Bitte nicht persönlichen Stil mit generellen Regeln/Empfehlungen verwechseln. atoi hat seine Nachteile (z.B. keine gute Fehlerkontrolle), aber wenn man diese kennt und damit leben kann, sehe ich absolut nichts, was gegen die Verwendung von atoi spricht.



  • Gut, es ließe sich sicherlich etwas vorsichtiger formulieren, aber vorher wird darauf hingewiesen, dass man am besten std::string benutzen sollte und für diesen sind Stringstreams angebrachter.



  • Warum steht in Punkt drei nicht drin, das man bitte das Buch/Tutorial weg schmeissen soll??? Die nächsten Kapitel werden bestimmt auch nicht besser sein.



  • Ist das wirklich immer so?



  • Solche Bücher lehren wahscheinlich auch dementsprechend schlechten, unmodernen C++ Stil.



  • Also, wenn das HelloWorld schon nicht ISO-konform ist, warum sollten die nachfolgenden Kapitel über strings, filestreams usw. ISO-konform sein? 😕

    Es ist wahrscheinlich, das das Buch noch vor 1998 geschrieben wurde oder wenn es aktueller ist, der Autor irgendwie die C++-Welt und alles andere verpennt hat. Egal wie, das Buch/Tutorial werden dem C++-Greenhorn der etwas lernen will, nicht groß behilflich sein.



  • thx für die beantwortung der fragen hat mir auch geholfen



  • 1. Wie kann ich eine richtige Oberfläche programmieren?

    Vergiss es. Solange du die Grundlagen nicht kannst (und zu den Grundlagen gehört mehr als schon mal ne Klasse erstellt zu haben!), hat es keinen Sinn, sich mit Oberflächen zu beschäftigen.

    Ich finde diese Antwort beleidigend. Ich suche schon seit längerer Zeit ein Tutorial, um eine Benutzeroberfläche zu programmieren - ohne Erfolg. Anstatt Anfängern vorzuschreiben, wie sie C++ lernen sollen, sollte als Antwort besser etwas Konstruktives stehen (z.B. ein guter Link).



  • Finde die Antwort auch nicht glücklich, es bedürfte wohl einer ausgeweiteten Begründung. Das stimmt.

    Zu dem Tutorial: da es keine Standard-GUI in C++ gibt, kann man dir schlecht ebendmal ein Tutorial empfehlen. Wir haben ein GUI-Forum hier, da kannst du dich umschauen in der FAQ und in alten Beiträgen stöbern, dann weißt du wo du Tutorials findest. Und vorallem: dann verstehst du auch die Antwort von da oben. 😉 Ansonst ist auch meine Übersicht (siehe meine Signatur) ganz hilfreich?



  • Die Antwort ist keineswegs beleidigend gemeint!

    Hat jemand Lust, das besser zu formulieren, bevor ich mit meinem C++-Gui-Halbwissen rauskomme?



  • Michael E. schrieb:

    Die Antwort ist keineswegs beleidigend gemeint!

    Hat jemand Lust, das besser zu formulieren, bevor ich mit meinem C++-Gui-Halbwissen rauskomme?

    Wie gesagt: Noch besser als eine andere Formulierung wäre natürlich ein nützlicher Link. Oder steht wirklich nirgends beschrieben, wie man so etwas programmiert? Aber danke schon mal dafür, dass meine Kritik nicht auf taube Ohren gestoßen ist.



  • Jacks Rache schrieb:

    Wie gesagt: Noch besser als eine andere Formulierung wäre natürlich ein nützlicher Link. Oder steht wirklich nirgends beschrieben, wie man so etwas programmiert? Aber danke schon mal dafür, dass meine Kritik nicht auf taube Ohren gestoßen ist.

    Ein nützlicher Link? Das Problem bei dieser Frage ist IMHO dass es wie gesagt nicht zu Standard-C++ gehört, GUIs zu programmieren. Da gibt es viele verschiedene Frameworks für. Windows? Da gibt es die WinAPI, aber die ist nicht C++. Die MFC, aber die ist nicht modernes C++ und vor allem nicht kostenfrei. WxWidgets, GTKmm, QT und andere. Linux? Embedded? Es kommt immer darauf an was man eigentlich will.

    Kurzum: Es gibt viele Wege zum Ziel, aber keiner davon führt an den Grundlagen vorbei. Links gibt es viele, die meisten via Google. In meinen Augen sind die besten Links die Referenzen der o.g. Frameworks, nur dass Referenzen sich am besten lesen wenn man bereits weiss was man tut. Beleidigend ist diese Antwort damit aber auf keinen Fall.



  • @Jacks Rache! Hast du mein Posting nicht richtig gelesen? Dann würdest du nicht wiederholt nach einem Tutorial-Link nachfragen. LordJaxom hat versucht es zu formulieren, was ich durch verweise auf ein Unterforum versucht habe zu sagen.



  • LordJaxom: Darf ich das so übernehmen? 😃 👍



  • @Michael E.: Jederzeit 😉



  • Ich fände es gut, wenn in Punkt zwei noch folgende Methode erwähnt würde:

    Man kann eine Batch-Datei erstellen, die nachdem Programm die Konsole offen hält.
    Einfach eine Batch-Datei im Ordner erstellen wo auch das programm liegt. Das geht unter Windows XP so:

    1. Im Explorer (also der ganz normale Datei-Browser) im Menü auf Extras -> Ordneroptionen.
    2. Dann auf "Ansicht" und bei "Erweiterte Einstellungen" den Haken bei "Erweiterung bei bekannten Dateitypen ausblenden" entfernen.
    3. OK
    4. Datei -> Neu -> Textdokument
    5. Einen Namen der mit .bat aufhört eingeben wie z.B. "Starter.bat"
    6. Rechtsklick auf die bat-Datei und Bearbeiten auswählen.
    7. Im Editor folgendes eingeben:

    meinprogramm.exe
    pause
    

    Für meinprogramm den Namen eures Programms eingeben.
    8. Datei speichern und Editor beenden.
    9. Doppelklick auf die bat-Datei und euer Programm bleibt danach offen!

    Diese Methode finde ich viel besser da man nicht die IDE wechseln muss und auch keine Änderungen im Code machen muss. Allerdings funktioniert sie nur unter Windows, das haben allerdings die meisten Anfänger.



  • Added.



  • Zu Punkt 6 könntest du eventuell noch einen Link auf meinen Strings-Artikel einfügen * (und wenn du Tip 3 beachtest, solltest du zumindest <cstring> erwähnen.

    Nochmal zu Tip 3: Die "alten" C-Header <stdio.h> etc existieren im C++ Standard übrigens weiterhin - parallel zu den C++ Wrapper-Headern <cstdio> etc.

    (*)Die Adresse findest du hinter dem Link da unten ↓



  • ich las gerade

    fStr.read(reinterpret_cast<char*>(&ulNummer), sizeof(unsigned long)); // C++ 
    // und nicht: 
    // fStr.read((char*)&ulNummer), sizeof(unsigned long)); // C
    

    warum sollte das so sein?

    abgesehen von

    fStr.read((char*)&ulNummer, sizeof(ulNummer));
    

    , denn man will den typ ja auch mal ändern dürfen.

    es wäre viel besser, wenn es auch begründungen zu den vorschlägen geben würde. dann kann man sich die tipps besser merken. dann kann man auch besser dran glauben und es ist nicht der tausendste style-guide.


Anmelden zum Antworten