WHATTHISBOOKCOVERS
ProfessionalC++usesanapproachtoC++programmingthatwillbothincrease
the quality of your code and improve your programming efficiency. You will
find discussions on new C++17 features throughout this fourth edition. These
features are not just isolated to a few chapters or sections; instead, examples
havebeenupdatedtousenewfeatureswhenappropriate.
ProfessionalC++teachesyoumorethanjustthesyntaxandlanguagefeatures
of C++. It also emphasizes programming methodologies, reusable design
patterns, and good programming style. The Professional C++ methodology
incorporates the entire software development process, from designing and
writingcode, to debugging, and working in groups. This approachwill enable
youtomastertheC++languageanditsidiosyncrasies,aswellastakeadvantage
ofitspowerfulcapabilitiesforlarge-scalesoftwaredevelopment.
ImagineuserswhohavelearnedallofthesyntaxofC++withoutseeingasingle
exampleofitsuse.Theyknowjustenoughtobedangerous!Withoutexamples,
theymightassumethatallcodeshouldgointhemain()functionoftheprogram,
orthatallvariablesshouldbeglobal—practicesthataregenerallynotconsidered
hallmarksofgoodprogramming.
ProfessionalC++programmersunderstandthecorrectwaytousethelanguage,
in addition to the syntax. They recognize the importance of good design, the
theories of object-oriented programming, and the best ways to use existing
libraries.Theyhavealsodevelopedanarsenalofusefulcodeandreusableideas.
By reading and understanding this book, you will become a professional C++
programmer. You will expand your knowledge of C++ to cover lesser-known
and often misunderstood language features. You will gain an appreciation for
object-oriented design, and acquire top-notch debugging skills. Perhaps most
important,youwillfinishthisbookarmedwithawealthofreusableideasthat
youcanactuallyapplytoyourdailywork.
There are many good reasons to make the effort to be a professional C++
programmer,asopposedtoaprogrammerwhoknowsC++.Understandingthe
trueworkingsofthelanguagewillimprovethequality ofyourcode.Learning
aboutdifferentprogrammingmethodologiesandprocesseswillhelpyoutowork
better with your team. Discovering reusable libraries and common design
patterns will improve your daily efficiency and help you stop reinventing the
wheel. All of these lessons will make you a better programmer and a more
valuableemployee.Whilethisbookcan’tguaranteeyouapromotion,itcertainly