1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen

C++ Anfänger sucht Hilfe....

Dieses Thema im Forum "Programmieren" wurde erstellt von Sadakazu, 7 April 2017.

  1. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Moin moin....
    Ich befasse mich jetzt seit kurzem mit C++
    Einiges an Grundlagen hab ich soweit verstanden.
    Hab allerdings an einigen ecken noch so die eine oder andere Schwierigkeit etwas umzusetzen....

    Da ich hier (vor Ort) keine Möglichkeiten habe in eine VHS zu dackeln oder an einer Uni mich einzuschreiben bleibt mir auch leider nur der autodikaktische Weg...

    Kann man das Forum als Anfänger missbrauchen? :D Oder gibts hier gar jemanden der einem per Mail oder IRC son bisschen unterstützend zur Seite steht??? :D

    Könnt ihr parallel dazu ein Buch empfehlen das mir den Einstieg noch erleichtert? Am besten eins, das gar nicht erst auf M$ Windows eingeht. Das brauche ich nicht und das werd ich auch nie brauchen. Ich will rein weg auf Linux und BSD entwickeln... bzw für Linux und BSD....

    Also bis zum Kapitel Pointer und Referenzen hatte ich nen Onlinebuch gelesen (C++-Entwicklung mit Linux).... Aber grad Pointer und Referenzen ist ein Thema das mich echt ins schleudern bringt...
    So etwas gibt es ja nicht in Java und auch nicht in PHP.

    Gruß
    Sadakazu
     
  2. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.886
    Ort:
    Schleswig-Holstein
    Solche Threads enden in diesem Forum ja immer damit, dass man sich nach langen und fruchtlosen Diskussionen darauf einigt, dass C oder Lisp die beste Programmiersprache ist... Vielleicht schaffen wir ja dieses Mal das zu vermeiden. Aber zum Thema: Hier sind mehrere erfahrene C++-Programmierer unterwegs. Wenn du konkrete Fragen hast, stelle sie einfach in jeweils einem neuen Thread. Die Antworten können etwas dauern, da man Arbeitszeiten und sowas einkalkulieren muss. :)
     
    CrimsonKing und Sadakazu gefällt das.
  3. mogbo

    mogbo Does it run under Windows? Who cares?

    Registriert seit:
    12 September 2016
    Beiträge:
    500
    Damit wurd doch eigentlich alles gesagt :ugly:
     
    CrimsonKing gefällt das.
  4. Rakor

    Rakor Moderator Mitarbeiter

    Registriert seit:
    17 September 2009
    Beiträge:
    2.025
    Ort:
    Mannheim
    Wenn auch didaktisch nicht sehr wertvoll, finde ich inhaltlich "das Original" von Bjarne Stroustrup eigentlich empfehlenswert. Da is so ziemlich alles drin. Es ist allerdings nicht gerade als leichte Kost oder Anfängerfreundlich zu bezeichnen.
     
    Sadakazu gefällt das.
  5. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Zu C++ Büchern gibt es hier schon einen thread der dir vielleicht weiterhilft.
    Ist im Grunde recht einfach: Stell dir den Arbeitspeicher als eine Folge von Bytes vor die durchnummeriert sind (0...Ende Arbeitsspeicher) der mit Daten gefüllt ist. Ein Pointer ist die Adresse eines anderen Datums. Wenn du also auf dieses Datum zugreifen willst musst du den Pointer erst dereferenzieren, d. h. der Pointer wird in den Prozessor geladen und dessen Inhalt dann in Prozessor geholt um damit weiterarbeiten zu können.
    Code:
    int x   = 3;    // wert der variablen ist 3.
    int *ip = &x;
          // mit * wir ip als pointer deklariert und mit & die Adresse von x geholt.
    int y = *ip +3;
          // mit '*' wird ip dereferenziert
          // (also der Wer von x geholt) und dann 3 addiert,
          //  y hat also jetzt einen Wert von 6.
    
    Referenzen sind eine Variante davon die bestimmten Regeln gehorcht. Ansonsten: Spezifische Frage stellen wie Yamagi sagt und am besten gleich ein vereinfachtes Code-Beispiel dazu.

    Ich finde die C++ Referenz oft hilfreich: http://www.cplusplus.com/reference/
    Ich meine Ebenfalls dass das Buch von Bjarne Stroustrup gut ist, auch für einen Anfänger.
     
    Sadakazu gefällt das.
  6. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Von C++ wird man mich nicht abbringen xD keine sorge....
    Ist mir egal was momentan der Heilige Gral der Programmierung ist... morgen ists wieder Vala übermorgen Java und nächste Woche C# und in 3 Wochen E

    Gut, wenn das von den Stroustrup gut ist... werd ichs mir zulegen...
    Dies hier? Die C++-Programmiersprache: Aktuell zu C++11
    Sollte nach Möglichkeit schon auf Deutsch sein...

    @rubricanis
    Das hab ich soweit schon verstanden.... auch wann pointer sinnvoll sind.... aber wenn man schon Java und PHP gewohnt ist, tut man sich mit der umsetzung echt schwer....
    Bzw... man will int x an Function::Foo(int* a) übergeben aber wundert sich warums nicht funktioniert.. aber weil man wenigstens ausprobieren will was Function::Foo macht verwirft man den pointer und übergibt gleich direkt die variable....

    Das ist halt der Nachteil wenn man niemand hat den man im "Unterricht" mal eben fragen kann....

    Ich würd auch gern ne VHS besuchen... aber die lokalen VHS bieten im Bereich EDV nur Exel und PC Schnupperkurse für Senioren an....
    Die nächste VHS die sowas anbietet ist 100km knapp weg... und so weit fahre ich nicht... bzw kann ich auch gar nicht..... ^^

    Solange ich nicht direkt wieder angefaucht werde ich soll das Programmieren sein lassen wenn ich keine Ahnung hab... gerne :D
    Und wenn ne Antwort 2 Tage dauert juckt mich das auch nicht.... auf Dauer vielleicht nervig... aber ich hocke auch nicht 24/7 am Rechner und beantworte "Support Anfragen"
     
  7. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Foo(&x). Wenn etwas nicht funktioniert solltest du dran bleiben bis das Problem gelöst ist, nicht umgehen oder herum tricksen. Sonst lernst du nichts. Wenn du hier ein minimales Beispiel mit main() postest (in einem extra thread) kann dir dann vermutlich geholfen werden...
     
  8. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Ich erwarte für den anfang aber auch viel zu viel ;) das geb ich zu....

    zb will ich ein Programm schreiben, das auf eingegebene befehle reagiert und verarbeitet...
    das ganze mit if else if else if else zu bauen ist natürlich unproduktiv.... switch case ist da vermutlich nicht viel besser....
    Sinnvoller wärs (unter php geht das zb) ne _autoload() funktion zu haben die erstmal prüft was wurde eingegben und guckt, ob es eine klasse/funktion/methode gibt die so heißt wenn ja führe aus wenn nein gebe aus -> befehl nicht gefunden...

    Aber da bin ich grad "am anfang" vermutlich schon 5 schritte zuweit mit :D
     
  9. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Schau dir Funktionsvariable an, es gibt auch Methoden-Variable. Aber wenn es nicht gerade hunderte Konstante sind sind tut es ein switch sicherlich auch. Aber gehe besser zurück auf Los! ;)
     
  10. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Siehste und das meine ich... ^^ Im anderen Forum bin ich gestern direkt angefaucht worden.... Lass das programmieren sein, du hast keine ahnung, tu dir und vorallem uns den gefallen und nerv uns nicht....
    Fand ich dann schon sehr eigenartig....

    Allgemein find ich die meisten Foren im Netz sehr fragwürdig.... Hier fühl ich mich deutlich wohler... ^^
     
  11. Kamikaze

    Kamikaze Bottom Poster Mitarbeiter

    Registriert seit:
    26 Mai 2005
    Beiträge:
    10.861
    Ort:
    /Earth/Europe/Germany/Karlsruhe
    Ich würde bei C++ ja anders Anfangen, keine Referenzen oder Pointer sondern erst mal nur copy-Semantik und std::vector benutzen.

    Wenn man damit klar kommt ist Referenzen grokken dran, vor allem wie man damit vermeidet große Objekte sinnlos in der Gegend herum zu kopieren. Das ist gar nicht so schwer.

    Der Pointer ist quasi eine explizite Referenz, die man nachträglich ändern kann. Daher braucht man die * und -> Operatoren um dem Pointer zu folgen. Bei der Referenz ist das nicht nötig weil die Adresse beim Erzeugen der Referenz auf ewig festgelegt wird. Also ist der Referenz folgen die Standardoperation.

    Wenn man das Begriffen hat, kann man sich an C-Arrays machen. Das ist teilweise sehr hässlich, Stichwort Type decay.

    Dann kommt ein sehr wichtiges Thema, der Umgang mit Resourcen (Speicher, Locks, Dateien etc.). Stichwort RAII.

    Auch verstehen sollte man const. Verstehe den Unterschied zwischen `char const *` und `char * const`. Was bedeutet es wenn eine Funktion const Parameter hat und was bedeutet es wenn eine Methode const ist. Dann vielleicht auch mutable aber das braucht man äußerst selten.

    Dann würde ich mich mit Move-Semantik und RValues beschäftigen.

    Nicht zu vergessen static und dynamic dispatch, Stichwort virtual.

    Wenn Du die Standardbibliothek einsetzt verwendest Du auch Templates. Es bietet sich an einem gewissen Punkt selber welche zu schreiben. Wie weit man das treibt hängt von einem Selbst ab. Template-Meta-Programming ist heutzutage aber deutlich weniger obskur als es das mal war.
     
    Athaba und Sadakazu gefällt das.
  12. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    So hatte auch auch gedacht... - bis ich gestern im Cpp Forum ganz böse von der Seite angemacht wurde....

    Aber langfristig komm ich um den Pointer kram halt nicht rum....
    Und ich hab auch den sinn verstanden das man mit Pointer und Referenzen vermeidet Objekte oder variablen sinnlos doppelt und dreifach in den speicher zu kopieren....

    Ich tue mich nur schwer damit es auch umgesetzt zu bekommen mit meinen eigenen Sachen.....
    Und von dem rest .... da bin ich ja noch weit von weg :D
     
  13. KobRheTilla

    KobRheTilla used register

    Registriert seit:
    20 Januar 2011
    Beiträge:
    1.184
    Es gibt keine Pflicht, irgendwelche Semantiken zu benutzen. Gewöhne dir lieber gleich an, jeweils eine möglichst einfache (und saubere) Lösung zu entwickeln. Alles andere ist meist nur "Wichserei".

    Rob
     
  14. Kamikaze

    Kamikaze Bottom Poster Mitarbeiter

    Registriert seit:
    26 Mai 2005
    Beiträge:
    10.861
    Ort:
    /Earth/Europe/Germany/Karlsruhe
    Es geht hier ja um einen Lernprozess. Du kannst ja schlecht alles auf einmal machen.
     
  15. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Ja aber wenn ich schon was schreibe dann auch richtig oder ich bin zu dumm dafür und sollte erst Bücher lesen bevor ich was schreibe..... *Ironieschild hochhalt*
    Du mir ist das ja vollkommen klar... auch das ich nicht bei Kapitel 6 im Buch weiter lesen kann wenn ich grad Kapitel 2 nur bis zur hälfte gelesen habe....
    Aber es scheint echt Leute zu geben, die wirklich erwarten, das man bevor man überhaupt eine Zeile Code schreibt, erstmal 2 Bücher gelesen hat und jedes Kapitel in und auswendig gelernt hat und jeden Satz in jedem Kapitel mit Punkt, Kommar und Strich blind herunterbeten kann...

    Fand die aktion gestern echt extrem demotivierend ;)
    Seis drum....
    Solange wie ich noch keine toten Bäume in der Hand halte behelfe ich mir mit diesem Online Buch:
    http://www.cpp-entwicklung.de/cpplinux3/cpp_main/cpp_main.html#cpp_mainch1.html
    und auch auf YT gabs nen "schönen" Kurs mit weit über 120 Videos .... ^^ wo ich jetzt bei video ka... 40? 45? bin...
    Im Buch steck ich irgendwo bei 2.5 oder so fest :D
     
  16. midnight

    midnight OpenBSD

    Registriert seit:
    1 Januar 2007
    Beiträge:
    247
    Ich kann das Buch »Der C++ Programmierer« empfehlen. Es ist in deutscher Sprache geschrieben und auch für Anfänger gut geeignet. Ausserdem entspricht es schon dem C++11 und dem C++14 ISO-Standard. Ein ebook im PDF-Format gibt es kostenlos dazu, wenn Du das Buch kaufst. Das ist praktisch, wenn man unterwegs ist und nicht immer den dicken Klopper mitschleppen will.

    http://www.hanser-fachbuch.de/buch/Der+C+Programmierer/9783446443464
     
  17. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Bücher sind m.E. eher etwas zum Nachschlagen. Lernen tut man am besten indem man sich eine Vielzahl kleiner Main() Programme erstellt die jeweils ein kleineres Problem lösen, - und das richtig! Wenn man mag kann man die besseren Sachen davon in eine Bibliothek packen oder den Text später einfach mit Copy & Paste in komplexere Sachen inkludieren. Also strikt Bottom-Up. Abstraktionen kommen später und dann kann man evtl. auch Bücher gut gebrauchen.
     
    Athaba gefällt das.
  18. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Naja... ich denke schon das man sich zumindestens erstmal mit den Basics außeinander setzten sollte....
    Woher soll ein "blutiger Anfänger" wie ich wissen das cout nur funktioniert wenn man <iostream> includiert hat... und woher soll er wissen das man cout nur mit std:: aufrufen kann es sei denn man definiert den namespace ;)
    Und ich denke da kommt man um ein Buch oder ein Lehrer der einem das erklärt nicht drum herum ^^

    Ansonsten denke ich auch, das man programmieren nur lernt, wenn man die Sprache auch benutzt.... und "Probleme" braucht es dabei meiner Meinung nach nicht lösen....
    Ich bin momentan dabei 2 Spielerrei Programme, die mir ein paar andere Programme "managen"... Das ganze noch mit sqlite3 um bestimmte informationen zu speichern usw...
    Bis jetzt läufts sehr gut... bis auf eben die Tatsache das irgendwo ein cin den Puffer behält und nach beendigung des Commands, erst zurück in den Listener springt, der dann nochmal einen leeren command ausführt und das Programm anschließend beendet wird....
    Passiert aber nur bei einem bestimmten Command.... wo ich anschließend nochmal mit cin Daten eingeben lasse..... cin.sync() und cin.clear() hat leider nicht geholfen.... müsste dann nochmal ne extra funktion bauen die die werte ermittelt und an meine andere funktion übermittelt... damit wär das problem zwar behoben, aber lerneffekt technisch weiß ich trotzdem nicht warum er das macht...

    Mal gucken evtl bau ich das nachher mal nach und poste das im anderen Beitrag ^^
     
  19. Vril

    Vril Active Member

    Registriert seit:
    4 August 2016
    Beiträge:
    325
    meine Worte! denn das ganze objektorientierte Kauderwelsch hab ich eh niemals richtig verstanden, deshalb bleibe ich bei
    prozeduralen Sprachen:cool:

    Duck - und weg!:D
     
  20. rubricanis

    rubricanis Homo ludens

    Registriert seit:
    22 August 2011
    Beiträge:
    686
    Ort:
    Ottendorf, Niederösterreich
    Ich denke du machst einen Denhkfehler: Einerseits fängst du zu hoch an (eine ganzes Programm schreiben, Das Beispiel oben ist viel zu komplex um wirklich was daraus zu lernen) und andererseits schaust du nicht genau genug. Wenn du z.B. die Beispiele in der C++ Referenz genau lesen würdest, würdest du z.B. sehen dass immer dort wo cout verwendet wird auch überall <iostream> includiert wird. Und so etwas macht man dann ganz schnell automatisch. Beim lernen einer Sprache geht es um zweilerlei: Die Prinzipien zu verstehen, aber das kommt später, und die Details von Syntax und Sematik zu lernen, und das kann man am besten an wirklich minimalen Progrämmchen in der nur eine (!) Sache gemacht wird.. Und da ist meist printf oder cout dein Freund...;)

    Ich denke du machst es dir selber schwer, - aber up to you!
     
    Athaba gefällt das.
  21. Athaba

    Athaba Libellenliebhaber Mitarbeiter

    Registriert seit:
    10 März 2005
    Beiträge:
    3.311
    Ich stimme rubricanis zu. Gerade Pointer sind eine Sache, die wie ich finde extrem mies zu erklären sind, aber nicht weil so komplex wären, sondern viel mehr weil man die in der Praxis nach einer Weile ohnehin logisch werden.

    Und zum Thema Reihenfolge beim Lernen. Das stimmt nur sehr begrenzt. Die Basis ist und bleibt zu wissen, was Variablen, Funktionen, Statements und Operatoren sind. Von da aus ist alles quasi nur noch Zusatzwissen. Das heißt überhaupt nicht, dass es unnötig wäre und dass man sich nicht damit auskennen sollte, sondern viel mehr, das du alles programmieren kannst. Ob dann Dinge nicht eleganter, performanter, geschickter und übersichtlicher funktionieren ist ein anderes Thema.

    Warum das wichtig ist, ist dass die wie andere schon gemeint haben mit den Basics sehr schnell zu einem Wissen kommst mit dem du dich auskennst. Dann kannst du sowohl Programme schreiben, als auch Code lesen. Das Tolle daran ist, dass du dann schneller und einfacher lernen kannst als einfach ein Buch runter zu lesen, indem du gezielt Sachen die du siehst nachgehst. Das hat den Vorteil, dass du dich mit diesen Dingen wirklich vertraut machst.

    Mein Lieblingsvergleich beim Programmieren lernen ist, dass man Fahrrad fahren (oder Auto fahren) ja auch nicht aus einem Buch lernst, auch wenn dir ein Handbuch alles dazu sagen kann.

    Wie gesagt, das heißt keinesfalls, dass du nicht trotzdem lesen solltest, als Referenz oder wirklich als Lektüre. Das ist sogar wichtig, weil du nicht Dinge falsch verstehen willst, und dann Fehler machst. Allerdings ist es wichtig die Dinge sofort und abseits von einem Programm oder mehreren Programmen an denen du arbeitest zu machen, weil es sonst schwierig ist, die Dinge im größeren Zusammenhang richtig zu verwenden.

    Eine weitere Sache ist, dass Programmieren nur zu einem relativ kleinen Teil eine Sprache können ist, sondern viel mehr Probleme, die wiederum mit bestimmten anderen Dingen (GUIs, Datenbanken, etc.) zusammenhängen. Das ist relativ schwierig in ein Buch oder einen Kurs zu packen, weil der dann sehr spezifisch wäre und dann ist es kein C++-Buch sondern sowas wie, "Kartenspiele mit QT und C++ programmieren" und selbst da ist das eigentliche Probleme lösen, was man beim Programmieren tut schwierig zu vermitteln.

    Eine andere Sache, die Funktionieren kann ist einfach irgendein Buch fertig zu lesen, und einfach alles zu ignorieren, was man nicht versteht (so linear bauen die Dinge meist nicht aufeinander auf). Dann suchst du dir irgendwas an dem du basteln möchtest und verwendest das Buch (oder das Internet oder ein anderes Buch) als Referenz. Ich glaube so in etwa machen es die Meisten an einer Uni (wenn sie das erste mal Programmieren).

    Irgendwann merkt man dann, dass das was man grundsätzlich braucht nur die ersten paar Kapitel waren und nicht irgendwas von ganz hinten, und das man nur nicht wusste, dass man irgendwelche Libraries nutzen will. Und dann macht plötzlich alles viel mehr Sinn. Zumindest ging es mir und vielen anderen, mit denen ich so geredet habe in etwa so. Wenn man sich davon abwendet strikt einem Buch zu folgen beginnt das eigentliche Programmieren lernen. Das Buch ist eben nur Vokabel (bzw. ein Grundwortschatz) und Grammatik, aber wohl kaum jemand würde meinen, dass das zu können jemand zu einem Schriftsteller macht.

    Verstehe mich aber nicht falsch. Ich will damit nicht sagen, dass Bücher lesen schlecht sei, vorausgesetzt es sind gute Bücher. Allein schon weil man damit das Vokabular und den Jargon lernt, der sonst manchmal verwirrend sein kann. Es kann nur schwierig sein wirklich vom Fleck zu kommen, wenn man sich erwartet, dass Programmieren eine Wissenssache ist, wo man ein Buch durchackert und dann weiß man wie man die Dinge macht.

    Und ja, all die Vergleiche hinken irgendwo. Aber vielleicht macht der Eine oder Andere Sinn, im Zusammenhang mit anderen Kommentaren hier. :)
     
    Zuletzt bearbeitet: 12 April 2017
  22. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Na endlich versteht mich jemand xD
    Ich lerne in der Fahrschule lediglich die Regeln für den Straßenverkehr.... und bekomme eine kurze Fahrausbildung damit ich weiß wie der Blinker Funktioniert und wie ich wann ich zu schalten habe......
    Aber das ganze drumherum und die Fahrpraxis kommt nur wenn man auch aktiv Fährt....
    Beim Programmieren sehe ich das Ähnlich... ein Buch kann mir lediglich die Regeln erklären.... Wirklich lernen kann ich es nur wenn ich aktiv programmiere... und da müssens auch mal dinge sein, die man nicht so begriffen hat - wie in meinem fall die Pointer es waren

    Um hier aber mal alle auf den Neuesten Stand zu bringen....
    1.) Auf YT gibts ja ein Super Tutorial über c++ (120 Videos) Die serie hab ich fast komplett durch...
    2.) parallel dazu hatte ich zufällig im Appstore noch "Solo Learning C++" gefunden.... Das hab ich komplett durch.... Alle übungsaufgaben und "Challanges" gemeistert und schlussendlich das "Zertifikat" erhalten....

    Das heißt... die Grundlagen hab ich soweit jetzt eigentlich verstanden und weiß auch vieles wirklich umzusetzten....
    Bis auf die Sache mit den Templates, das war mir minimal zu hoch, aber denke mal für meine "projekte" die ich geplant hab werd ich die Templates vermutlich eh noch nicht brauchen sondern werd mit normalen Klassen auskommen....

    Ich hab rein weg um das gelernte zu "üben" bzw zu vertiefen son billiges kleines konsolen spiel gebastelt...
    Name eingeben... Rasse (Mensch / Orc) aussuchen.... der Char erhält ne Waffe im random level (1-9) die dann mit den "standardatributen" (Stärke Angriffsgeschwindigkeit Verteidigung und Lebenspunkte) der Rasse entsprechend die "Angrifskraft" und/oder die Defensive pushen...
    Ein zufälliger gegner wird erzeugt (Mensch/Orc) der ebenfalls eine waffe mit random Level erhält.... anschließend hauen sich beide auf die gusche bis einer von beiden tot ist....
    Yeay...... Super Game.... *ironieschild hoch halt*
    Egal, Funktioniert aber alles wunderbar....

    Also könnte man ja meinen.... ich könnte jetzt ja ein "ernsthaftes" projekt mal in Angriff nehmen.....
    Aber da fängt es schon das erste mal an zu hapern....

    Bislang kamen nur die libs <iostream> <string> <vector> <exception> <fstream> und noch ein paar kleine sachen... <sstream> zb...
    Kann man ja schon viel mit anstellen, solange man wirklich eigene classen und funktionen schreibt und nur auf diese paar bibliotheken zurückgreift....
    Was aber wenn man mal zb über das web ein return value auslesen will...
    angenommen ich hab auf example.com/index.php?irgendwas&foo=bar und je nach dem was das script zurück liefert will ich damit arbeiten?!
    angenommen die datei liefert true zurück... (also wenn man die seite direkt im browser aufrufen würde würde nur true stehen) oder sie liefert fooBar zurück...
    Wie kann man sowas in c++ (nach möglichkeit als string variable bzw array falls mehrere zeilen zurück kommen) implementieren? Ich möchte halt mit der rückgabe, zb in einer switch case anweisung mehrere fälle abarbeiten... also wenn rückgabe true mach a() wenn false mach b() wenn fooBar mach c() wenn barFoo mach d() usw...
    curl?
    oder muss das doch komplexer sein mit boost asio??? oder gibts da doch noch eine ganz andere bibliothek für??
    Wo kann man sowas herausfinden?
    Vielleicht gebe ich bei google ja auch immer nur die falschen Keywords ein.....

    Wenn man halt nicht weiß wo man anfangen soll zu suchen.... tut man sich da echt verdammt schwer mit :D
    Die Frage bezüglich curl und boost asio kommt übrigens gleich noch in einem neuen Thread.... ^^ braucht also wenn nur allgemein auf die frage "woher weiß man sowas" eingehen... ;)

    Gruß
    Sada

    PS: Frohe Ostern noch ;)
     
  23. Yamagi

    Yamagi Possessed With Psi Powers Mitarbeiter

    Registriert seit:
    14 April 2004
    Beiträge:
    8.886
    Ort:
    Schleswig-Holstein
    Ich würde sagen, dass Templates definitiv nichts sind, dessen Sinn man ganz am Anfang ohne jede praktische Erfahrung erkennt. Geschweige denn, dass man in der Lage ist sie wirklich zu verstehen. Gebe dir ein wenig Zeit, mit zunehmender Erfahrung wächst auch die Genialität von C++-Templates. :)

    Wenn man auf der grünen Wiese steht und keinerlei Vorwissen hat, muss man natürlich recherchieren, welche Möglichkeiten es gibt und was die für die jeweilige Situation beste Option ist. In der Praxis ist man allerdings selten wirklich frei, was solche Entscheidungen angeht. Ich nutze in meinen Projekten beispielsweise kein Boost, womit ich lediglich cUrl nehmen könnte. Wenn man schon Boost einsetzt, wäre es sicher besser Boost.Asio zu nehmen, um keine weitere Abhängigkeit hereinzuziehen. Auch Portabilität spielt mit hinein. Funktioniert die Bibliothek nur unter Linux oder auch unter Windows und OS X? Und nicht zuletzt die Lizenz. Zum Beispiel muss man mit GPL-Code sehr vorsichtig sein.
     
  24. Sadakazu

    Sadakazu Member

    Registriert seit:
    7 Juni 2016
    Beiträge:
    192
    Das Problem an der sache ist halt.. wenn man nicht mal weiß wie es unter c++ genannt wird sucht man erstmal 2 Wochen im Netz, liest 10.000 Artikel, versteht davon die hälfte... und stellt dann fest, das man eigentlich nach den falschen Keywörtern gesucht hatte xD
    Ist mir jetzt passiert mit Command Design Patterns..... (dazu kommt gleich tatsächlich ein extra Thread... die curl und boost geschichte hab ich erstmal bei seite gestellt, weil zu anfang doch recht komplex xD)
    Da mach ich mir null Kopf drum momentan..... 100% von dem was ich Entwickel muss ausschließlich auf Linux laufen FreeBSD wäre zwar noch schön.... aber das kommt später....
    Thema Lizenzen... bislang hab ich noch nichts benutzt außer die Standard Bibliotheken... von daher mach ich mir über Lizenzen auch (noch) keinen Kopf....