Académique Documents
Professionnel Documents
Culture Documents
Beginner
Introductory
IfyouarenewtoprogrammingorifyouhaveexperienceinotherlanguagesandarenewtoC++,these booksarehighlyrecommended.
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
1/11
3/12/13
booksarehighlyrecommended.
1. C++Primer (StanleyLippman,JoseLajoie,andBarbaraE.Moo)( updatedforC++11)Comingat 1kpages,thisisaverythoroughintroductionintoC++thatcoversjustabouteverythinginthe languageinaveryaccessibleformatandingreatdetail.Thefifthedition(releasedAugust16, 2012)coversC++11.[Review] 2. AcceleratedC++(AndrewKoenigandBarbaraMoo)Thisbasicallycoversthesamegroundasthe C++Primer ,butdoessoonafourthofitsspace.Thisislargelybecauseitdoesnotattempttobe anintroductiontoprogramming,butanintroductiontoC++forpeoplewho'vepreviously programmedinsomeotherlanguage.Ithasasteeperlearningcurve,but,forthosewhocancope withthis,itisaverycompactintroductionintothelanguage.(Historically,itbrokenewgroundby beingthefirstbeginner'sbookusingamodernapproachatteachingthelanguage.)[Review] 3. ThinkinginC++(BruceEckel)Twovolumessecondismoreaboutstandardlibrary,butstillvery good 4. Programming:PrinciplesandPracticeUsingC++(BjarneStroustrup)Anintroductionto programmingusingC++bythecreatorofthelanguage.Agoodread,thatassumesnoprevious programmingexperience,butisnotonlyforbeginners.
NottobeconfusedwithC++PrimerPlus(StephenPrata),withasignificantlylessfavorablereview.
Best practices
1. EffectiveC++(ScottMeyers)ThiswaswrittenwiththeaimofbeingthebestsecondbookC++ programmersshouldread,anditsucceeded.Earliereditionswereaimedatprogrammerscoming fromC,thethirdeditionchangesthisandtargetsprogrammerscomingfromlanguageslikeJava.It presents~50easytorememberrulesofthumbalongwiththeirrationaleinaveryaccessible(and enjoyable)style.[Review] 2. EffectiveSTL(ScottMeyers)Thisaimstodothesametothepartofthestandardlibrarycoming fromtheSTLwhatEffectiveC++didtothelanguageasawhole:Itpresentsrulesofthumbalong withtheirrationale.[Review]
Intermediate
1. MoreEffectiveC++(ScottMeyers)EvenmorerulesofthumbthanEffectiveC++.Notasimportant astheonesinthefirstbook,butstillgoodtoknow. 2. ExceptionalC++(HerbSutter)Presentedasasetofpuzzles,thishasoneofthebestandthorough discussionsoftheproperresourcemanagementandexceptionsafetyinC++throughResource AcquisitionisInitialization(RAII)inadditiontoindepthcoverageofavarietyofothertopics includingthepimplidiom,namelookup,goodclassdesign,andtheC++memorymodel.[Review] 3. MoreExceptionalC++(HerbSutter)Coversadditionalexceptionsafetytopicsnotcoveredin ExceptionalC++,inadditiontodiscussionofeffectiveobjectorientedprogramminginC++and correctuseoftheSTL.[Review] 4. ExceptionalC++Style(HerbSutter)Discussesgenericprogramming,optimization,andresource managementthisbookalsohasanexcellentexpositionofhowtowritemodularcodeinC++by usingnonmemberfunctionsandthesingleresponsibilityprinciple.[Review] 5. C++CodingStandards(HerbSutterandAndreiAlexandrescu)"Codingstandards"heredoesn't mean"howmanyspacesshouldIindentmycode?"Thisbookcontains101bestpractices,idioms, andcommonpitfallsthatcanhelpyoutowritecorrect,understandable,andefficientC++code. [Review] 6. C++Templates:TheCompleteGuide(DavidVandevoordeandNicolaiM.Josuttis)Thisisthebook aboutC++templates.Itcoverseverythingfromtheverybasicstosomeofthemostadvanced templatemetaprogrammingandexplainseverydetailofhowtemplateswork(bothconceptuallyand athowtheyareimplemented)anddiscussesmanycommonpitfalls.Hasexcellentsummariesofthe OneDefinitionRule(ODR)andoverloadresolutionintheappendices.[Review]
Above Intermediate
1. ModernC++Design(AndreiAlexandrescu)Agroundbreakingbookonadvancedgeneric programmingtechniques.Introducespolicybaseddesign,typelists,andfundamentalgeneric programmingidiomsthenexplainshowmanyusefuldesignpatterns(includingsmallobject
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
2/11
3/12/13
Classics / Older
Note: Someinformationcontainedwithinthesebooksmaynotbeuptodateornolongerconsidered bestpractice. 1. TheDesignandEvolutionofC++(BjarneStroustrup)Ifyouwanttoknowwhythelanguageisthe wayitis,thisbookiswhereyoufindanswers.Thiscoverseverythingbeforethestandardizationof C++. 2. RuminationsonC++(AndrewKoenigandBarbaraMoo)[Review] 3. AdvancedC++ProgrammingStylesandIdioms(JamesCoplien)Apredecessorofthepattern movement,itdescribesmanyC++specific"idioms".It'scertainlyaverygoodbookandstillwortha readifyoucansparethetime,butquiteoldandnotuptodatewithcurrentC++. 4. LargeScaleC++SoftwareDesign(JohnLakos)LakosexplainstechniquestomanageverybigC++ softwareprojects.Certainlyagoodread,ifitonlywasuptodate.ItwaswrittenlongbeforeC++98, andmissesonmanyfeatures(e.g.namespaces)importantforlargescaleprojects.Ifyouneedto workinabigC++softwareproject,youmightwanttoreadit,althoughyouneedtotakemorethan agrainofsaltwithit.There'sbeentherumorthatLakosiswritinganuptodateeditionofthebook foryears. 5. InsidetheC++ObjectModel(StanleyLippman)Ifyouwanttoknowhowvirtualmemberfunctions arecommonlyimplementedandhowbaseobjectsarecommonlylaidoutinmemoryinamulti inheritancescenario,andhowallthisaffectsperformance,thisiswhereyouwillfindthorough discussionsofsuchtopics. Thisquestionhashistoricalsignificance,butisnotagoodexampleofanappropriatequestion.Read andlearnfromthispost,butpleasedonotuseitasevidencethatyoucanasksimilarquestions. SeetheFAQformoreinfo.
c++ books c++faq
editedMar8at7:53
42 Answers
1 2 next
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
3/11
3/12/13
69 ThiswasthebookthatopenedmyeyesandmademerealisehowmuchIhatedC++Brent.Longborough
Jan4'09at11:54
93 @Brent.Longborough:Why?Becausenobodyisenforcedtowritelibrarycodeortemplatedcodeingeneral?
Itisabitlikesaying A m a n u a l o n r e f l e c t i o n s o p e n e d m y e y e s a n d m a d e m e r e a l i s e h o w m u c h I h a t e d C #.Orlikehatredonyourcarbecausethere'samanualfortheengine,tobeusedby engineers.Seriously,nobodyisenforcedtowritesuchcode.Butforthosewhowant,e.g.library implementors/programmersthisguideisindeedacompleteone. Itisforthosewhocopewithtemplates, soprogrammerslikeyoudon'thaveto.phresnelJun15'11at9:54
Ienjoythepartwherehediscussesfuturetrends.Itisfuntoseehowjustaboutallofthesewererealizedin C++11.Itseemsthatthemoreunlikelynamesforthefeatureswerechosen.emsrJun21'12at19:23
show 1morecomment
I'daddC++FAQstotheBeginnerlist.Ifindithighlyreadable,enjoyable,andasuccinctsummaryofa lotofmaterialin"TheC++ProgrammingLanguage"andthe"EffectiveC++"seriesofbooks.
answeredDec23'08at5:59 communitywiki Nocturne
22 Ireadthebookbackin1999,andfounditagoodreadbackthen.Itisworthreadingnowtogetagoodfeel
6 5
show 1morecomment
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
4/11
3/12/13
4 TheyaregreatasintroductorybooksandforthediscussionsaboutOOP.Butbewarethattheycan'tbeused
asareferenceguidetheytradedthatofftobeofthe"tutorial"type(well,agreattutorialanyway). BlaisorbladeJan14'09at23:51
8 HandsdownthebestC++tutorials...allotherpaleincomparison.biasMar26'09at22:49
show 2morecomments
NewbookbyStroustrupPrinciplesandPracticeUsingC++shouldbeagreatbeginnerbook.
answeredDec23'08at6:11 communitywiki Jay
5 ItisaverygoodbookandveryimpressivethatcoversalotoffieldsNikkoMay10'10at15:03 4 Readingtheauthor'spdfpaperonthebookonteachingexperiencesincollegeitseemslikehewantsto
ensurethathisbaby(C++)isintroducedintherightwaytonewcomerstoC++.Thankstohimformakingthe efforttosetthingsstraight.GuruMFeb17'12at6:27 show 1morecomment
C++CommonKnowledgebyStephenDewhurstbelongsintheIntermediatesection,butjustbarely.The coverageoftemplatesgetsintoadvancedmaterialneartheend.
answeredDec24'08at15:42 communitywiki StephenW.Carson
1 Ireallylikethisbook,howeverforaverylongtimeIthoughtthatthereweretopicsthatIjustdidn'tknow
about.Itturnedoutthatthecommonknowledgeisn'tsocommonevenamongveryseasonc++programmer. Yes,mostofthetopicsareknownorshouldbeknown,butthereareatleastfewthatareeitherverysparsely usedornoonebotherstolearnthem.Onceagain,Ilovethisbooksodon'tgetmewrong.I'mjuststating reality.ra170Jan31'11at0:12 show 1morecomment
show 1morecomment
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
5/11
3/12/13
editedJun13'12at14:19
Iwouldliketorecommend"InsidetheC++ObjectModel"byStanleyLippman.ItexplainswellhowC++ objectworksunderthehood.KnowingthesedetailsisamusttobeagoodC++programmer.
answeredFeb15'09at17:11 communitywiki PatrickTsai
show 1morecomment
Whataboutthisbook? EssentialC++ byStanleyB.Lippman ItisstructuredinafewchaptersbyC++programmingparadigms: Chapter1.BasicC++Programming Chapter2.ProceduralProgramming Chapter3.GenericProgrammingChapter Chapter4.ObjectBasedProgramming Chapter5.ObjectOrientedProgramming Chapter6.ProgrammingwithTemplates Chapter7.ExceptionHandling AppendixA.ExerciseSolutions AppendixB.GenericAlgorithmsHandbook Alsoeverychapterhasabunchofexercises.
answeredFeb3'11at20:06 communitywiki Hoornet
7 Ihavereadit.Itis,essentially,Lippman's C++Primerboileddowntoathirdofitsvolume.Anditfeelsthat
way.Lippmanknowswhathe'swritingabout,andthebookwillcontainnoseriouserrors,butit'snotwrittenas a250pageintroduction.Nevertheless,weC++folksshouldbegladwheneverthere'sabookouttherethathas allthefactsright,andthiscertainlyissuchabook.So,yes,a recommendationfromme,butwithsome reservation.sbiFeb3'11at21:17 show 1morecomment
STLlinksathttp://www.stepanovpapers.comespeciallyhttp://www.stepanovpapers.com/Stepanov The_Standard_Template_Library1994.pdfandhttp://www.stepanovpapers.com/STL/DOC.PDF
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
6/11
3/12/13
editedNov2'12at12:14
5 Iamnotsurehowanalmost20yearsoldtextontheSTLasitwasbeforeitgotincorporatedintothestdlib
(aprocessbywhichitwaschangedalot)isstillrelevantfortoday.Justtheothernight,afterbrowsingthrough itforanhourwithaglassofwineinmyhand,IdecidedthatitistimetofinallythrowawaytheprintoutIstill hadofit.sbiApr15'12at7:50
9 Iassumeyoumeanthepubliccontentavailablehere:stanford.edu/class/cs106bTonyFeb17'11at13:51
show 2morecomments
TheAnnotatedC++ReferenceManualbyMargaretEllisandBjarneStroustrupshouldbelistedunder classics.Itisstillverywellregardedalmost20yearslater,thoughsomewhatdated.
answeredMar19'09at19:57 communitywiki DaveMooney
show 1morecomment
TheBoostC++Libraries,writtenbyBorisSchling,andtranslatedtoEnglishbyAndreasMasurprovides anintroductiontotheBoostlibraries.ThefirsteditionisavailableonlineunderaCreativeCommons licenseandcoversBoost1.42.0.There'sanewereditionthatcoversBoost1.47.0(butthisoneisnot availableforfree). ThebookfocusonBoostandonlyBoost.ItassumessomeC++knowledge,butnottoomuch,soIthink it'sagoodbookforthefledglingC++studentthatafterobtainingagraspofthelanguagewantstouse Boost. Thebookcoversthemostcommonlyusedlibraries,anddescribeseachcomponentwithexamplesand enoughdetailtogetyoustartedusingeachofthem.Obviously,giventhesheersizeofBoost,itcan'tgo intoexcruciatingdetailovereverything,sothisismoreofanintroductorybookthanafullreference. Nevertheless,thebookisstillusefulforBoostveteransthatwanttogetstartedquicklywithsomepartof Boostthatthey'renotfamiliarwithyet.
answeredDec5'11at17:40 communitywiki R.MartinhoFernandes
show 1morecomment
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
7/11
3/12/13
show 2morecomments
APIDesignforC++byMartinReddy.GoodreadafterMeyers'EffectiveC++andandJosuttis'sTheC++ StandardLibrary:ATutorialandReference.
answeredJul24'11at14:19 communitywiki pic11
show 1morecomment
show 1morecomment
3 Thisisstillaprettydecentbook,IMO,despiteit'sageandallthepatternhatethathasreplacethepattern
obsessioninthe90s,butIdon'tthinkitshouldbeincludedinaC++booklist.sbiApr15'12at7:41
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
8/11
3/12/13
answeredDec25'08at19:11
show 2morecomments
1 Thisbooksucked,icouldntreaditafterfirst3chapters.vehomzzzOct15'09at17:59
TheC++StandardLibraryExtensions:ATutorialandReferencebyPeteBecker
answeredAug7'11at12:25 communitywiki plan9assembler
1 ThislistslibrariesthatarenowpartoftheC++librarysince2003.Nomatterwhetherit'sgood(Ibelieveitis),
it'sseriouslyoutdated.sbiApr15'12at7:15 show 2morecomments
TheC++languagereferenceatMSDN.Itisaprettygoodstuff: MSDNC++languageReference
editedAug23'12at5:39 communitywiki 2revs,2users67% crazy_prog
8 IwouldstayawayfromtheMSspecificimplementationofC++,knowntobenonstandard.Besides,that
"languagereference"isn'tsowellwritten.MSdidquiteafewgoodthings(likeC#),C++development environmentisn'toneofthemanymore.RedGlyphAug6'12at18:08 show 2morecomments
1 ThethinnestC++bookIhaveeverreadis AcceleratedC++byKoenig/Moo.Itcomesat250pages,and
despitethefactthatithasalearningcurvethat'salmostunsurmountableforlotsofstudentsandskipsover manypartsofC++,it'sstillanexcellentbeginner'sbook.However,Iveryseriouslydoubtonecouldremove 40%ofit'scontentandstillhaveadecentbookcoveringevenonlythemostimportantpartsofthelanguage. IfthistaughtyoueverythingyouknowaboutC++,thenIsuggestyoupickupotherbooks(there'salistofgood C++bookssomewhereonSO)andlearnmore.sbiApr15'12at7:08 show 5morecomments
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
9/11
3/12/13
byMichaelDawson
Example:
Inthisbook,insteadofthetraditional"HelloWorld!"program,itteachesthefollowing"GameOver!" version: / / G a m e O v e r / / A f i r s t C p r o g r a m # i n c l u d e < i o s t r e a m > i n t m a i n ( ) { s t d : : c o u t < < " G a m e O v e r ! " < < s t d : : e n d l r e t u r n 0 }
1 Ilovedthisbook!kunj2aanJun14'12at3:12
ForselftaughtknowledgeofcomputersandC++,IwasreallyfondofNeilGreyABeginnersC++ especiallysincetheentirethingisavailableforfreeasaseriesofPDF's(here)whichmakeslifeso mucheasierwhenyouwanttocopypastecodeforexercisesortemplates. Whenlearningaboutasubject,IliketheWikipediastyleversion.Therearen'talotoflongwinded introductions,anecdotesandtangents.Thesemakefornicenovels,orintroductorybooksforpeople whoaren'treallythatinterestedinthesubjectbutifyouwanttogetdowntobrasstaxanddensefacts, thisisagreatreference. Oneoftheuniquelyusefulpartsaboutthisbookishowishasacolumnrunningdownthesideofevery pagecontainingkeywordsreferencedinthatsectioninadditiontotheusualsectionheadersand runningpageheadersthattellyouwhereyou'reat.Thesectionsareorganizedinwhatis,tome,the mostlogicalapproachacrashcourseoncomputerhardware,followedbymachinelanguage,andthen higherlevellanguage,algorithms,designparadigms,OOP,etc.Italsogiveswellannotatedexamplesof codefrompracticalapplications,suchasairtrafficcontrolsoftwareanddoesagoodjobofunderlying therealworldimportanceofbestpracticeprincipleslikeinformationexperts,modularity,and documentation. It'ssurvivedsolongforbeingmostlyIDEagnostic,butIwishsomeonewouldgobackandtakeoutall thoseembarrassinglyoutdatedreferencestoBorland.
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
10/11
3/12/13
editedMay21'12at17:29
4 StayawayfromKanetkar'sbooksifyou'reseriousaboutlearningC++/Cprogramming!CuriousOct4'12at
18:54
3 @Fake.It.Til.U.Make.ItIwoulddefinitelynotcopystufffromotherstowriteabook!CuriousOct25'12at
7:14 show 1morecomment
1 2 next
Not the answer you're looking for? Browse other questions tagged c++ books c++-faq or ask your own question.
stackoverflow.com/questions/388242/the-definitive-c-book-guide-and-list
11/11