Buch: Effektiv C++ Programmieren
-
Chris++ schrieb:
auch das "Mehr Effektiv C++ lernen"?
mehr effektiv c++ programmieren fand ich gut, aber nicht so gut wie der vorgänger. heißt aber nicht, dass sich mehr effektiv c++ programmieren nicht lohnt. ist ein gutes buch
-
perfekt
-
Noch ein Tipp:
Overcoming the Problems of Citrus Production in Malaysia | ISBN: 0321113586Das ist mit Sicherheit auch kein schlechtes Buch, bietet natürlich mehr Richtlinien an, dafür aber nicht ausführlich. Es dient später mal als Nachschlagewerk, wenn du genügend Bücher hast.
Aber "Effektiv C++" sollte erstmal das Buch deiner Wahl sein.
-
CarstenJ schrieb:
Das ist mit Sicherheit auch kein schlechtes Buch, bietet natürlich mehr Richtlinien an, dafür aber nicht ausführlich. Es dient später mal als Nachschlagewerk, wenn du genügend Bücher hast.
Werd ich mir demnächst kaufen.
Aber die essentiellen "effective c++" bücher sind:
effektiv c++ programmieren
exceptional c++
mehr effektiv c++ programmieren
mehr exceptional c++
exceptional c++ style
effective stlsind allesamt lesenswert und ähnlich was die thematik betrifft ohne sich wesentlich zu überschneiden!
also: wenn man nicht weiss welches buch als nächstes, eins der genannten ist sicher keine schlechte wahl.
-
Was mich bei "Effektiv C++ programmieren" gestört hat, sind diese Afänger-Tipps, die mir sogar schon "Jetzt lern ich C++" beigebracht hat. Tipps a la "vergiss niemals bei operator++ das Argument auf this zu prüfen.
"Jetzt lern ich C++" mach vielleicht nicht so OO sein, aber dennoch top, wie ich finde - für den puren Anfänger auf jeden Fall.
-
Korrektur: operator= meint ich.
-
Tja, nur dient "Effektiv C++" aufgrund des Aufbaus eher als Nachschlagewerk. Natürlich werden mehr oder weniger alle Tipps in vielen Anfängerbüchern erwähnt, nur: Warum benutzt sie dann keiner? Viele Fehler, die man hier sieht, werden in vielen Büchern erwähnt, nur trotzdem passieren sie?!
-
CarstenJ schrieb:
nur trotzdem passieren sie?!
Und warum sollten sie aufhören zu passieren wenn man Effektiv gelesen hat?
Ich denke die Leute, denen diese Fehler passieren, haben das noch nirgendwo gelesen. Glaube nicht das es solche Holzköpfe gibt, die das nach dem Lesen trotzdem nicht wertschätzen.
-
Wüstling schrieb:
Korrektur: operator= meint ich.
in der tat, das ist leider mittlerweile veraltet
mittlerweile macht man ja copy&swap wie es in exceptional c++ beschrieben ist
-
Ne, nach dem Lesen von "Effektiv C++" ist man natürlich auch vor Fehlern nicht gefeiht, kann aber im Zweifelsfall schneller nachlesen.
Und mal ehrlich: Wenn du nicht jeden Tag 5 Stunden programmierst oder dich 3-5 Jahre intensiv mit C++ beschäftigst, weisst du dann noch wann du wo was als Referenz übergibst und wann nicht, oder wie du welchen Operator zu überladen hast?
-
ich denke mal das die meisten Fehler nur durch unwissenheit kommen. Viele haben die Bücher nicht gelesen und ich selber würde auch kein Buch ohne Empfehlung lesen (es gibt ja soviel unverständlichen Müll da draussen das sich C++ Buch lernen dingsda nennt).
-
Shade Of Mine schrieb:
Wüstling schrieb:
Korrektur: operator= meint ich.
in der tat, das ist leider mittlerweile veraltet
mittlerweile macht man ja copy&swap wie es in exceptional c++ beschrieben istNicht unbedingt. Als die C++ Community über Exceptions und ihre Auswirkungen nachgedacht hat hat man festgestllt, dass ein Operator= immer auch ohne Test auf this != &rhs korrekt funktionieren sollte. Das ist die wichtige Erkenntnis (und die die in alten C++ Büchern nicht vermittelt wird).
Copy&Swap hingegen ist nur eine mögliche Implementation die einem (bei korrekter Anwendung) diese Eigenschaft garantiert. Und obwohl Copy&Swap eine Zeit lang als "kanonische Implementation" bezeichnet wurde, würde ich diese Technik nicht überwerten. Man sollte sie definitiv kennen, aber nicht blind anwenden, denn nicht selten ist Copy&Swap schlicht und einfach unnötig ineffizient.
-
HumeSikkins schrieb:
Und obwohl Copy&Swap eine Zeit lang als "kanonische Implementation" bezeichnet wurde, würde ich diese Technik nicht überwerten. Man sollte sie definitiv kennen, aber nicht blind anwenden, denn nicht selten ist Copy&Swap schlicht und einfach unnötig ineffizient.
keine "One True op= implementation"?
ist ja logisch dass es nicht immer gut ist, aber bei mir geht es sich aus, dass etwa 90% aller op= per copy&swap implementiert sind. aber ich muss zugeben, dass die anzahl meiner op= sehr stark abnimmt...
-