C++ lernen? (wiki nicht übersehen)

  • Themenstarter Themenstarter Ibews
  • Beginndatum Beginndatum
I

Ibews

Guest
Wie man im Titel schon sieht, ich habe ins Wiki und die Programmieren Links geschaut.

Dort sind die ersten 2 Bücher / Tutorials dort ersteinmal vom Titel her nur für C, die C/C++ Referrenz wird mir wohl auch nicht großartig weiterhelfen.
Ähnlich scheint es vom Titel mit C++ und GUI Programmierung für Anfänger, da ich aktuell nicht vorhabe mich explizit mit GUIs zu befassen und ich denke man kann dies immernoch tun wenn man eine Sprache beherrscht.

Folglich bleiben schon nurnoch

cpp-entwicklung.de
und
c-plusplus.de

Zweiteres scheint mir aber auch nur eine Sammlung von Ebooks zu sein, wo ich nicht weiß welches ich als Einsteiger in diese Sprache (kann u.a. Java). Allerdings will ich hier auch nicht von einer Sprache auf die andere schließen.

Überhaupt frage ich mich:
Sollte ich C++ relativ entkoppelt von C sehen?
Sprich C zwar als Grundlage aber im Endeffekt doch als eigentändig. Sprich Beim C++ lernen auf "reine" C++ Bücher zuzugreifen und nicht auf Bücher die sowohl als auch lehren wollen.


Kurz gesagt:
Bleibt mir "nur" cpp-entwicklung.de oder habe ich einem der Bücher oben unrecht getan?
Kann mir jemand eines der Obigen oder ein anderes Tutorial empfehlen?


P.S. denke das sollte rechtfertigen wieso ich den Thread aufmache und nicht einfach einem der Links folge und mich hinein stürze
 
ich denke die frage die du eigentlich stellen willst ist: "wo fange ich an?"

da du von der java schiene kommst, springst du ja nicht blind ins kalte wasser ... mit einem großteil der sprachkonstrukte solltest du also kein neuland betreten ...

sofern dir objektorientierung in java schon vertraut genug ist, kommen auch hier keine großen unbekannten mehr ...

was definitiv neu sein wird, ist der mangel an einem garbage collector, der hinter dir aufräumt ... also würde ich mit dem thema anfangen und mir in der richtung (stichwort "speicherverwaltung") entweder was an tutorials suchen, oder einfach mal nen miniprojekt starten und ausprobieren wie weit man kommt ...

ich war da eher freund von learning by doing als von großen wälzern, oder vielen tutorials ...


was die thematik c vs cpp betrifft: der wesentliche unterschied ist die objektorientierung die erst mit cpp (naja, eigentlich mit objective c) einzug gehalten hat ...
 
Erstmal danke ich für die 2 Antworten, da es ja leider eine Standardfrage ist, die man gemeinhin in Foren nicht unbedingt gern sieht da sie ja sonst dauernd kommen.

Fang ich mal oben an mit antworten:
OO ist vertraut. Also besonders auf Speicherverwaltung achten -> ok

Zu den Buch von Volkards:
Es war ja unter den C++ Büchern auf c-plusplus.de und hier war wie gesagt es wieder einige Male hieß C++ eine Einführung oder ähnliches, und wie denke ich jeder weiß kann die Qualität solcher "Bücher" doch sehr unterschiedlich sein, was jemand der eine Sprache nicht gut kennt nicht bemerkt.

Soweit:
Ich werde mir wahrscheinlich cpp-entwicklung.de/... ansehen und dem Mini-Projekt Ratschlag vom GrafZahl folgen.

Damit sollten meine Fragen in der Richtung erst mal geklärt sein.
Ich danke euch zwei für die Antworten.

Grüße
 
Zuletzt bearbeitet:
Überhaupt frage ich mich:
Sollte ich C++ relativ entkoppelt von C sehen?
Sprich C zwar als Grundlage aber im Endeffekt doch als eigentändig. Sprich Beim C++ lernen auf "reine" C++ Bücher zuzugreifen und nicht auf Bücher die sowohl als auch lehren wollen.

In meinen Augen eine ganz schwierige Frage. Ich habe mit C angefangen, C++ kam dann als Aufsatz mit dem Hintergrund OOP zu lernen.

Anfangs hatte ich deutliche Schwierigkeiten den "cut" zwischen C und C++ zu machen. Mit der Zeit kommen aber auch solche Erkenntnisse ...

So gesehen ist C++ nur eine Menge von unterschiedlichen Paketen. Zu diesen Paketen gehören z.B. die Fähigkeiten Objekt orientiert zu programmieren, die Standard Template Library oder aber auch so essentielle Dinge wie Primitiven.
Zusätzlich steht aber noch die C-Library zur Verfügung. Diese kenne ich mittlerweile nahezu auswendig und ist und bleibt Hauptbestandteil meiner C++ Projekte. Es ist in meinen Augen also essentiell mit der C-Lib vertraut zu sein.

Hier mal eine Übersicht: cplusplus.com (In meinen Augen die beste Referenz die es gibt ;) )

IMHO sehe ich C++ als eine Hülle. Die Sprache bietet mir Möglichkeiten Vorstellungen in Klassen zu verpacken. Die konkrete Implementierung ist dann nur noch eine Sache von C unter der zu Hilfenahme von einigen C++-Libs (STL, I-/O-Streams ...).

ich war da eher freund von learning by doing als von großen wälzern, oder vielen tutorials ...

Ich denke ein paar Grundlagen müssen schon her. Wenn ich eine neue Sprache erlerne, so schnapp ich mir meistens einen Wälzer und überlese das Teil ... mach mir bei Interessanten Stellen ein paar Klebezettel dran ... und setze mir dann das Ziel ein kleines Projekt in der Sprache zu realisieren. Natürlich macht das jeder anders ;)

Nichts desto trotz, hier mal eine kleine Aufgabe für dich, die dir das Verständnis der Speicherverwaltung näher bringen wird:
Erzeuge dir - zunächst in C - eine Datenstruktur 'String' mit zusätzlichen Funktionen wie

  • String erzeugen (init)
  • String zerstören (deinit)
  • Strings vergleichen
  • String erweitern 1 (sowas wie string += "")
  • String erweitern 1 (sowas wie string1 += string2)
  • Bestimmte Zeichenkette extrahieren (sowas wie String.substring(startIndex, endIndex)
  • ...
Und im Anschluss setz das Ganze in C++ mit einer Klasse um. Dann wird der feine Unterschied zwischen Strukturen und Klassen auch klar ;)

Falls du Fragen dazu haben solltest: Schieß einfach los!
 
Zurück
Oben