Datei Öffnen, etwas schreiben usw
-
Gibt´s schon tausendmal die Frage, aber welche Bücher odter Tutorials würdet ihr für den Anfang mal Empfehlen, wenn man schon einigermaßen Programmieren kann und nicht mit "das ist ein INT Variable" anfangen will.... ?
Quasi ein "Umsteiger" Buch? Wie habt ihr mit C++ angefangen und wie lange macht ihr schon c++? Also der Umfang der Sprache ist ja wahnsinn, für mich als Anfänger leicht depremierend, wenn man hier im Forum oft Code liest und sich denkt "Was zur Hölle will der überhaupt??"

-
Noch ein Nachtrag... Warum geht die ganze Funktion auch, wenn ich #include <string> weglasse??
-
cpp_beginner schrieb:
Gibt´s schon tausendmal die Frage, aber welche Bücher odter Tutorials würdet ihr für den Anfang mal Empfehlen, wenn man schon einigermaßen Programmieren kann und nicht mit "das ist ein INT Variable" anfangen will.... ?
Tutorials: Durch die Bank kein einziges. Mir ist keins bekannt das auch nur halbwegs gut und aktuell wäre.
Bücher: Von wo aus umsteigen? Von einer Sprache wie z.B. Java oder C# würde ich dir die regulären Bücher empfehlen, da die Unterschiede doch recht gravierend sein können. Ansonsten ist die Frage ob eine Referenz nicht besser ist (wie The C++ Programming Language, möglichst in der neusten Auflage).
cpp_beginner schrieb:
Wie habt ihr mit C++ angefangen und wie lange macht ihr schon c++?
Studium und Bücher. Ich programmiere seit etwa 15 Jahren beruflich C++ und lerne immer wieder neues (wobei: Inzwischen eigentlich weniger, da die verwendete IDE eh nicht die neuen Standard unterstützt, und aktuell für mich andere Sprachen wichtiger werden - wäre C++ aber weiterhin meine Hauptsprache würde ich mich stärker mit den neuen Standards beschäftigen).
C++ lernt man auch nicht eben mal, wer sich intensiv mit der Sprache beschäftigt wird mindestens ein Jahr benötigen um die Sprache wirklich zu beherrschen (Was nicht heißt, das er nicht schon früher Programme schreiben kann, manche verstehen die Sprache auch nicht nach Jahrzehnten obwohl sie anderes behaupten ;p).
-
Bücher: Von wo aus umsteigen?
Eher aus der 'C' Ecke.
C++ lernt man auch nicht eben mal, wer sich intensiv mit der Sprache beschäftigt wird mindestens ein Jahr benötigen um die Sprache wirklich zu beherrschen
Ein Jahr, wär ja toll, ich rechne mal eher mit 3 Jahren, da ich der ganzen Sache nur als "Hobby" nachgehen kann, beruflich programmiere ich im Automatisierungsektor Automobilindustrie hauptsächlich S7 und Kuka Robotik. Ganz andere Welt. Vor allem OOP ist darum ziemlich Neuland.
Studium und Bücher.
Um ersteres (und 10 Jahre jünger
) wäre ich heute froh 
Ansonsten ist die Frage ob eine Referenz nicht besser ist (wie The C++ Programming Language, möglichst in der neusten Auflage
).
Tja, ich hab günstig , für 10 Euro ne Deutsche Übersetzung bekommen. Nunja... ich find nicht richtig rein in das Buch. Auf der 20 Seite sind schon Codebeispiele mit Templates und was weiß ich was für welchen Klassen,das es einem die Schuhe auszieht
-
cpp_beginner schrieb:
Bücher: Von wo aus umsteigen?
Eher aus der 'C' Ecke.
C++ lernt man auch nicht eben mal, wer sich intensiv mit der Sprache beschäftigt wird mindestens ein Jahr benötigen um die Sprache wirklich zu beherrschen
Ein Jahr, wär ja toll, ich rechne mal eher mit 3 Jahren,...
Meine Betonung war auch auf mindestens. Wenn du bereits beruflich programmierst und C-Kenntnisse hast, wäre der Weg über "Die C++ Programmiersprache" eine Variante - doch programmiert man in C++ eigentlich gänzlich anders, so das weiterhin die Standardwerke wie der "C++ Primer" (ohne Namenszusatz) nicht ganz verkehrt wären. Alternativ such nach den frei verfügbaren, aber schon etwas älteren beiden "Thinking in C++"-Büchern und lese diese quer. Sie sind zwar nicht C++11, sind aber dennoch kein schlechter Einstieg. Ich würde anschließend zu den "Effective C++"-Büchern raten...
cpp_beginner schrieb:
Studium und Bücher.
Um ersteres (und 10 Jahre jünger
) wäre ich heute froh 
Ich habe mein Studium damals abgebrochen, und studiere aber inzwischen wieder "nebenher" (Was man so nebenher nennen kann - Freizeit ist während der Semester jedenfalls ein Fremdwort; ein Ausschlag war wohl das es im gleichen Gebäudekomplex ist, wie meine Arbeitsstelle). Und ich beende es im Idealfall kurz vor meinem 40igsten - in dem Bereich [WiInf] liege ich zwar am oberen Altersende, in den parallel liegenden WiWi-Gängen wäre das aber vielleicht noch im Mittelfeld.
cpp_beginner schrieb:
Tja, ich hab günstig , für 10 Euro ne Deutsche Übersetzung bekommen. Nunja... ich find nicht richtig rein in das Buch. Auf der 20 Seite sind schon Codebeispiele mit Templates und was weiß ich was für welchen Klassen,das es einem die Schuhe auszieht

Dann greif zu einen der oben genannten (Primer...). Und nur am Rande: Vielen "echten" Anfängern sind die Einstiegsbücher wie Primer noch zu schwer, Vorkenntnisse müssen nicht bedeuten, das sie dir zu leicht wären.
-
Besten Dank für die ausführliche Antwort!!
Noch eine Frage, damit wäre mir momentan Verständnißmäßig geholfen:
std::fstream SHEAT ("daten_1.txt", std::fstream::in | std::fstream::out); std::fstream SHEAT_2("daten_2.txt", std::ios::in | std::ios:out);Beides ist irgendwie richtig. Aber was soll man jetzt hernehmen, std::fstream::in oder std::ios::in ? Ich werd echt aus der Refernz nicht ganz schlau, muss unbedingt das mit den Klassen und wer zu wem gehört usw. auf die Reihe bekommen....
Aus der Referenz:
explicit fstream (const char* filename, ios_base::openmode mode = ios_base::in | ios_base::out);Also bis filename ist alles klar ;-), aber wie komm ich jetzt auf std::fstream::in oder std::ios::in ??
Ist bestimmt ziemlich lächerlich für euch, aber wenn ich die Referenz nicht richtig interpretieren kann, hab ich bedenken das das bei mir was wird

-
Es ist egal, was du schreibst. Es bezieht sich immer auf
std::ios_base::openmode, das von allen vonstd::ios_baseableitenden Klassen geerbt wird.
-
Also könnte ich auch
std::fstream SHEAT ("daten_1.txt", std::ios_base::in );machen?
-
cpp_beginner schrieb:
Also könnte ich auch
std::fstream SHEAT ("daten_1.txt", std::ios_base::in );machen?
Ja.
Oderstd::fstream SHEAT ("daten_1.txt", std::ostringstream::in );Das ist völlig wurscht.
-
Leute soviel wie da geerbt wird, würd ich mir auch mal wünschen zu erben

Danke an alle für die geduldigen Antworten!
-
cpp_beginner schrieb:
Noch ein Nachtrag... Warum geht die ganze Funktion auch, wenn ich #include <string> weglasse??
Weil andere Header wie
<iostream>auch<string>einbinden dürfen. Die Betonung liegt hierbei auf dürfen, denn portabel ist es definitiv nicht wenn du<string>weglässt.Außer natürlich du bindest einen Header ein von dem du weißt dass er <string> einbinden muss - wie zum Beispiel
<fstream>. Ist aber total unnötig und fehleranfällig solche Abhängigkeiten ausnutzen.Das ist völlig wurscht.
Man sollte natürlich in einem Projekt konsistent bleiben. Und richtig konsistent kann man eigentlich nur sein wenn man
std::ios::in(/std::ios_base::in) verwendet, weil es auch mal vorkommen kann dass man lediglich<ios>einbindet. Dazu istios::inso ziemlich am kürzesten.
-
cpp_beginner schrieb:
zusatz="LA LE LU ...."; zusatz += "...Nur der Mann im Mond gibt Ruh\n";Nur der Mann im Mond schaut zu.