Aktuelle C++ Buchempfehlung ?
-
Effective C++ und More Effective C++ von Scott Meyers sind auch ganz brauchbar. Außerdem vielleicht noch C++ Templates: The Complete Guide von David Vandevoorde und Nicolai M. Josuttis (am besten vor Modern C++ Design).
-
Danke drakon ,
aber die Auflagen aller Bücher stammen aber noch aus der Zeit als ich studiert habe so um das Jahr 2000 rum, könnte das den aktuellen Standard schon berücksichtigen?
Ich habe selbst den Breymann hier aus dem Jahr 1999 und der hat (einige) gravierende Diskrepanzen was den C++-Standard angeht wie mir scheint.
-
Der aktuelle Standard ist von 1998, von daher ja. Die Autoren wie Herb Sutter, Scott Meyers, Andrei Alexandrescu sind Top-C++'ler, von denen man immer wieder lernen kann. Glaub mir, die kennen den Standard gut genug...

-
C++ Templates: The Complete Guide, sieht recht gut aus. So etwas noch für C++ Programmierung.
-
DeepCopy schrieb:
C++ Templates: The Complete Guide, sieht recht gut aus. So etwas noch für C++ Programmierung.
Was genau meinst Du mit "für C++ Programmierung"?
-
Ich werde mich mal mit euren Vorschlägen auseinandersetzten, danke erstmal ... ich bin auf dem Weg zu Buchladen ...ernsthaft

-
Die nächste Generation von Büchern wird wahrscheinlich erst so in 1-2 Jahren kommen, wenn mal der neue Standard verabschiedet worden ist. Von dem her bist du mit den genannten Werken (auch wenn sie schon ein gewisses Alter haben) nicht schlecht betan. Etwas aktuelleres gibt es schlichtweg nicht.
-
drakon schrieb:
Etwas aktuelleres gibt es schlichtweg nicht.
Ja, komme gerade aus dem Buchladen, tote Hose... alles um Jahr 2000 geschrieben, und nur als neue Auflage gedruckt.
-
DeepCopy schrieb:
Danke drakon ,
Ich habe selbst den Breymann hier aus dem Jahr 1999 und der hat (einige) gravierende Diskrepanzen was den C++-Standard angeht wie mir scheint.Von Breymann gibt es auch ein aktuelles Buch (Der C++ Programmierer).
Das erste Lehrbuch, was ich gesehen habe, wo z.B. auch RValue-Referenzen und die TR1-Sachen auftauchen.
-
So hier ist es:
Die C++-Programmiersprache | ISBN: 9783827328236
Ich hab mir jetzt Stoustrup bei amazon bestellt, Breymann finde ich persönlich nicht so lesenswert,
da muss man bei jedem Satz dreimal nachfragen was er meint, Stroustrup scheint mir da ein wenig besser zu sein.#Die Anderen Buchvorschläge werde ich mir noch nach und nach holen...
Danke an ALLE!!!
-
Das ist, denke ich ein guter Weg. Aus seinem Buch kann man sehr viel holen und es ist auch ein wunderbares Nachschlagewerk.
-
nn schrieb:
Von Breymann gibt es auch ein aktuelles Buch (Der C++ Programmierer).
Das erste Lehrbuch, was ich gesehen habe, wo z.B. auch RValue-Referenzen und die TR1-Sachen auftauchen.
Jefährlisch. RValue-Referenzen? Ob in dem Buch schon die Regeln nach N2844 drin stehen? Die Regeln wurden ja erst vor ein paar Monaten geändert.
Ich habe mir gerade die Leseprobe des Buchs angetan: Schon auf der ersten Seite des Kapitels "Exception-sichere Beschaffung von Ressourcen" gibt es -- mal ganz davon angesehen, dass man Resource im Deutschen nur mit einem s schreibt -- Auffälligkeiten:
Ressource pr = new Ressource(id); shared_ptr<Ressource> sptr (pr); // FalschEs könnte sein, dass schon bei der Erzeugung eines Objekts mit new eine Exception auftritt. Der damit verbundenen Sprung des Programmablaufs aus dem aktuellen Kontext zum Beispiel zu einer catch-Klausel führt dazu, dass ein delete nicht mehr möglich ist. Das erzeugte Objekt bleibt unerreichbar im Speicher.
Wenn new eine Exception wirft, gibt es kein Objekt im Speicher und auch kein Speicherleck. Sein Copy&Swap Muster sieht so aus
// exception-sicherer Zuweisungsoperator Klasse& Klasse::operator=(const Klasse& m) { // Zuweisung Klasse temp(m); // temporäre Kopie swap(m); // wirft keine Exception return *this; }Das ist leider sehr schade. Erstens taucht hier swap(m) auf, wobei m eine ref-auf-const ist. Zweitens weiß der Profi, dass man in diesem Beispiel das Kopieren dem Compiler überlässt:
// exception-sicherer Zuweisungsoperator Klasse& Klasse::operator=(Klasse kopie) { // <--- keine ref-auf-const swap(kopie); return *this; }Gut, einige Fehler sind Flüchtigkeitsfehler (swap(m)), die man dem Mann nicht anlasten kann. Aber die anderen "Patzer" sind nicht so prickelnd. Die Leseprobe des alten Buchs gefiel mir auch nicht so ganz.
Gruß,
SP
-
Für Leute die gerade erst angefangen haben und diesen Thread lesen: Ich habe auch das Buch vom Struppi, würde es Anfängern jedoch nicht empfehlen. Das Buch ist vorallendingen auf designtechnischer Ebene geschrieben. Empfehlenswert also für Leute, die Erfahrung haben und ihren Stil verbessern/perfektionieren möchten.
-
[quote="Sebastian Pizer"]
nn schrieb:
Schon auf der ersten Seite des Kapitels "Exception-sichere Beschaffung von Ressourcen" gibt es -- mal ganz davon angesehen, dass man Resource im Deutschen nur mit einem s schreibt -- Auffälligkeiten:
Den Ausführungen über C++ kann ich soweit zustimmen. Der zur Schreibweise von Ressource nicht.
-
nn schrieb:
Den Ausführungen über C++ kann ich soweit zustimmen. Der zur Schreibweise von Ressource nicht.
Die C++ Ausführungen könnte man auch bezweifeln. Kannst du der Zustimmung noch etwas Konkretes hinzufügen? Vielleicht die Stelle im Standard?
-
nn schrieb:
Den Ausführungen über C++ kann ich soweit zustimmen. Der zur Schreibweise von Ressource nicht.
Ich nehme fast alles zurück. Ich glaube, der Text zum new muss anders verstanden werden. Angenommen, dass zwischen den beiden Zeilen etwas anderes steht, welches eine Ausnahme wirft, dann haben wir ein Leck.
Bzl Ressource: Ja, hatte mich geirrt. Es ist genau anders herum. *schäm*
-
Zu der swap-Geschichte fällt mir spontan das hier ein
http://cpp-next.com/archive/2009/08/want-speed-pass-by-value/
Bei der shared_ptr Sache würde ich schon, wie im Buch empfohlen, das new in die Initialisierung des Smartpointers schreiben, ganz unabhängig davon ob die andere Variante nun sicher ist oder nicht.
-
Ich hatte Breymann als Dozent in unterschiedlichen Fächern, und kann nur sagen, dass er sehr fähig ist.
Sein Buch habe ich zwar selbst nicht, jedoch hatte ich schon öfter Azubis und Praktikanten, die es benutzt hatten. Mir sind darin keine groben Schnitzer aufgefallen.
-
Ok, ich überlege mir gerade auch Effective C++ "Auflage: 3., Auflage (30. Januar 2008)" von Scott Meyers zu kaufen.
Welches Buch zuerst More Effective C++ oder das andere? Bzw. wo sind die Unterschiede?
-
Also zulegen kannst du dir das auch ohne weiteres.
Also Meyers' Buch besteht eigentlich aus mehr oder weniger unabhänigen Tipps, welche jeweils so durchschnittlich 3-5 Seiten füllen. (wie auch Sutter). Stroustrups Werk allerdings ist da um einiges zusammenhängender und beschäftigt sich eigentlich mit den Grundlagen (welche aber weiter gehen, als ein Anfängerbuch) und ist mehr oder weniger Zusammenhängend.
Hmm. Welches zuerst.. Schwer zu sagen. Ich denke, dass es nicht so eine Rolle spielt, wenn man die Grundlagen bereits beherrscht und sie schon angewandt hat und mit einigen Problemen vertraut ist, kommt man in jeglicher Reihenfolge klar.
Oo
Ich sehe gerade, dass du wahrschenlich gar nicht Effective C++ <-> The C++ Programming Language meinst. Naja. Egal, ich lass das oben mal stehen.
More Effective C++ ist zwar das neuere Buch von Meyers, allerdings ist die Auflage älter. Und angesichts dessen, dass Effective C++ einige Neuerungen durchgemacht hat, würde ich zuerst schon Effective C++ lesen. (einige raten soger von der Fortsetzung More Effective C++ ab aus diesem Grund).