C++ Primer英文版(第5版)

《C++ Primer英文版(第5版)》
基本信息
作者: (美)李普曼(Lippman,S.B.) (美)拉乔伊(Lajoie,J.) (美)默Moo,B.E.)
出版社:电子工业出版社
ISBN:9787121200380
上架时间:2013-4-23
出版日期:2013 年5月
开本:16开
页码:964
版次:5-1
所属分类:计算机 > 软件与程序设计 > C++ > C++
C++ Primer英文版(第5版)
更多关于 》》》《 C++ Primer英文版(第5版)
内容简介
计算机书籍
  这本久负盛名的C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++大师Stanley B. Lippman的丰富实践经验,C++标准委员会原负责人Josée Lajoie对C++标准的深入理解,以及C++先驱Barbara E. Moo在C++教学方面的真知灼见外,更是基于全新的C++11标准进行了全面而彻底的内容更新。非常难能可贵的是,《C++ Primer英文版(第5版)》所有示例均全部采用C++11标准改写,这在经典升级版中极其罕见——充分体现了C++语言的重大进展极其全面实践。书中丰富的教学辅助内容、醒目的知识点提示,以及精心组织的编程示范,让这本书在C++领域的权威地位更加不可动摇。无论是初学者入门,或是中、高级程序员提升,本书均为不容置疑的首选。
目录
《c++ primer英文版(第5版)》
preface
chapter 1 getting started 1
1.1 writing a simple c++program 2
1.1.1 compiling and executing our program 3
1.2 afirstlookat input/output 5
1.3 awordaboutcomments 9
1.4 flowofcontrol 11
1.4.1 the whilestatement 11
1.4.2 the forstatement 13
1.4.3 readinganunknownnumberof inputs 14
1.4.4 the ifstatement 17
1.5 introducingclasses 19
1.5.1 the sales_itemclass 20
1.5.2 afirstlookatmemberfunctions 23
1.6 thebookstoreprogram. 24
chaptersummary 26
definedterms 26
part i the basics 29
chapter 2 variables and basic types 31
2.1 primitivebuilt-intypes 32
2.1.1 arithmetictypes 32
2.1.2 typeconversions 35
2.1.3 literals 38
2.2 variables 41
2.2.1 variabledefinitions 41
2.2.2 variabledeclarations anddefinitions 44
2.2.3 identifiers 46
2.2.4 scopeof aname 48
2.3 compoundtypes 50
2.3.1 references 50
2.3.2 pointers 52
2.3.3 understandingcompoundtypedeclarations 57
2.4 constqualifier 59
2.4.1 references to const 61
2.4.2 pointers and const 62
2.4.3 top-level const 63
2.4.4 constexprandconstantexpressions 65
2.5 dealingwithtypes 67
2.5.1 typealiases 67
2.5.2 the autotypespecifier 68
2.5.3 the decltypetypespecifier 70
2.6 definingourowndatastructures 72
2.6.1 defining the sales_datatype 72
2.6.2 using the sales_dataclass 74
2.6.3 writing our own header files 76
chaptersummary 78
definedterms 78
chapter 3 strings, vectors, and arrays 81
3.1 namespace usingdeclarations 82
3.2 library stringtype 84
3.2.1 defining and initializing strings 84
3.2.2 operations on strings 85
3.2.3 dealing with the characters in a string 90
3.3 library vectortype 96
3.3.1 defining and initializing vectors 97
3.3.2 adding elements to a vector 100
3.3.3 other vectoroperations 102
3.4 introducingiterators 106
3.4.1 usingiterators 106
3.4.2 iteratorarithmetic 111
3.5 arrays 113
3.5.1 definingandinitializingbuilt-inarrays 113
3.5.2 accessingtheelementsof anarray 116
3.5.3 pointers andarrays 117
3.5.4 c-stylecharacterstrings 122
3.5.5 interfacingtooldercode 124
3.6 multidimensionalarrays 125
chaptersummary 131
definedterms 131
chapter 4 expressions 133
4.1 fundamentals 134
4.1.1 basicconcepts 134
4.1.2 precedenceandassociativity 136
4.1.3 orderofevaluation 137
4.2 arithmeticoperators 139
4.3 logical andrelationaloperators 141
4.4 assignmentoperators 144
4.5 increment anddecrementoperators 147
4.6 thememberaccessoperators 150
4.7 theconditionaloperator 151
4.8 thebitwiseoperators 152
4.9 the sizeofoperator 156
4.10 commaoperator 157
4.11 typeconversions 159
4.11.1 thearithmeticconversions 159
4.11.2 other implicitconversions 161
4.11.3 explicitconversions 162
4.12 operatorprecedencetable 166
chaptersummary 168
definedterms 168
chapter 5 statements 171
5.1 simple statements 172
5.2 statementscope 174
5.3 conditional statements 174
5.3.1 the ifstatement 175
5.3.2 the switchstatement 178
5.4 iterativestatements 183
5.4.1 the whilestatement 183
5.4.2 traditional forstatement 185
5.4.3 range forstatement 187
5.4.4 the do whilestatement 189
5.5 jumpstatements 190
5.5.1 the breakstatement 190
5.5.2 the continuestatement 191
5.5.3 the gotostatement 192
5.6 tryblocks andexceptionhandling 193
5.6.1 a throwexpression 193
5.6.2 the tryblock 194
5.6.3 standardexceptions 197
chaptersummary 199
definedterms 199
chapter 6 functions 201
6.1 functionbasics 202
6.1.1 localobjects 204
6.1.2 functiondeclarations 206
6.1.3 separatecompilation 207
6.2 argumentpassing 208
6.2.1 passingargumentsbyvalue 209
6.2.2 passingargumentsbyreference 210
6.2.3 constparametersandarguments 212
6.2.4 arrayparameters 214
6.2.5 main:handlingcommand-lineoptions 218
6.2.6 functionswithvaryingparameters 220
6.3 return types and the returnstatement 222
6.3.1 functionswithnoreturnvalue 223
6.3.2 functionsthatreturnavalue 223
6.3.3 returningapointer toanarray 228
6.4 overloadedfunctions 230
6.4.1 overloadingandscope 234
6.5 features forspecializeduses 236
6.5.1 defaultarguments 236
6.5.2 inline and constexprfunctions 238
6.5.3 aids for debugging 240
6.6 functionmatching 242
6.6.1 argumenttypeconversions 245
6.7 pointers tofunctions 247
chaptersummary 251
definedterms 251
chapter 7 classes 253
7.1 definingabstractdatatypes 254
7.1.1 designing the sales_dataclass 254
7.1.2 defining the revised sales_dataclass 256
7.1.3 definingnonmemberclass-relatedfunctions 260
7.1.4 constructors 262
7.1.5 copy,assignment, anddestruction 267
7.2 accesscontrol andencapsulation 268
7.2.1 friends 269
7.3 additionalclassfeatures 271
7.3.1 classmembersrevisited 271
7.3.2 functions that return *this 275
7.3.3 classtypes 277
7.3.4 friendshiprevisited 279
7.4 classscope 282
7.4.1 namelookupandclassscope 283
7.5 constructorsrevisited 288
7.5.1 constructor initializerlist 288
7.5.2 delegatingconstructors 291
7.5.3 theroleof thedefaultconstructor 293
7.5.4 implicitclass-typeconversions 294
7.5.5 aggregateclasses 298
7.5.6 literalclasses 299
7.6 staticclassmembers 300
chaptersummary 305
definedterms 305
contents xi
part ii the c++ library 307
chapter 8 the io library 309
8.1 the ioclasses 310
8.1.1 nocopyorassignfor ioobjects 311
8.1.2 conditionstates 312
8.1.3 managingtheoutputbuffer 314
8.2 file input and output 316
8.2.1 using file stream objects 317
8.2.2 file modes 319
8.3 stringstreams 321
8.3.1 using an istringstream 321
8.3.2 using ostringstreams 323
chaptersummary 324
definedterms 324
chapter 9 sequential containers 325
9.1 overviewof the sequentialcontainers 326
9.2 containerlibraryoverview 328
9.2.1 iterators 331
9.2.2 containertypemembers 332
9.2.3 begin and endmembers 333
9.2.4 definingandinitializingacontainer 334
9.2.5 assignment and swap 337
9.2.6 containersizeoperations 340
9.2.7 relationaloperators 340
9.3 sequentialcontaineroperations 341
9.3.1 addingelements toasequentialcontainer 341
9.3.2 accessingelements 346
9.3.3 erasingelements 348
9.3.4 specialized forward_listoperations 350
9.3.5 resizingacontainer 352
9.3.6 containeroperationsmayinvalidateiterators 353
9.4 how a vectorgrows 355
9.5 additional stringoperations 360
9.5.1 other ways to construct strings 360
9.5.2 other ways to change a string 361
9.5.3 stringsearchoperations 364
9.5.4 the comparefunctions 366
9.5.5 numericconversions 367
9.6 containeradaptors 368
chaptersummary 372
definedterms 372
chapter 10 generic algorithms 375
10.1 overview. 376
10.2 afirstlookat thealgorithms 378
10.2.1 read-onlyalgorithms 379
10.2.2 algorithmsthatwritecontainerelements 380
10.2.3 algorithmsthatreordercontainerelements 383
10.3 customizingoperations 385
10.3.1 passingafunctiontoanalgorithm 386
10.3.2 lambdaexpressions 387
10.3.3 lambdacapturesandreturns 392
10.3.4 bindingarguments 397
10.4 revisiting iterators 401
10.4.1 insert iterators 401
10.4.2 iostream iterators 403
10.4.3 reverse iterators 407
10.5 structureofgenericalgorithms 410
10.5.1 thefive iteratorcategories 410
10.5.2 algorithmparameterpatterns 412
10.5.3 algorithmnamingconventions 413
10.6 container-specificalgorithms 415
chaptersummary 417
definedterms 417
chapter 11 associative containers 419
11.1 usinganassociativecontainer 420
11.2 overviewof theassociativecontainers 423
11.2.1 defininganassociativecontainer 423
11.2.2 requirements onkeytype 424
11.2.3 the pairtype 426
11.3 operations onassociativecontainers 428
11.3.1 associativecontainer iterators 429
11.3.2 addingelements 431
11.3.3 erasingelements 434
11.3.4 subscripting a map 435
11.3.5 accessingelements 436
11.3.6 awordtransformationmap 440
11.4 theunorderedcontainers 443
chaptersummary 447
definedterms 447
chapter 12 dynamicmemory 449
12.1 dynamicmemoryandsmartpointers 450
12.1.1 the shared_ptrclass 450
12.1.2 managingmemorydirectly 458
12.1.3 using shared_ptrs with new 464
12.1.4 smartpointers andexceptions 467
12.1.5 unique_ptr 470
12.1.6 weak_ptr 473
12.2 dynamicarrays 476
12.2.1 newandarrays 477
12.2.2 the allocatorclass 481
12.3 usingthelibrary:atext-queryprogram 484
12.3.1 designof thequeryprogram 485
12.3.2 definingthequeryprogramclasses 487
chaptersummary 491
definedterms 491
part iii tools for class authors 493
chapter 13 copy control 495
13.1 copy,assign, anddestroy 496
13.1.1 thecopyconstructor 496
13.1.2 thecopy-assignmentoperator 500
13.1.3 thedestructor 501
13.1.4 theruleofthree/five 503
13.1.5 using = default 506
13.1.6 preventingcopies 507
13.2 copycontrol andresourcemanagement 510
13.2.1 classesthatactlikevalues 511
13.2.2 definingclassesthatactlikepointers 513
13.3 swap 516
13.4 acopy-controlexample 519
13.5 classesthatmanagedynamicmemory 524
13.6 movingobjects 531
13.6.1 rvaluereferences 532
13.6.2 moveconstructor andmoveassignment 534
13.6.3 rvaluereferencesandmemberfunctions 544
chaptersummary 549
definedterms 549
chapter 14 overloaded operations and conversions 551
14.1 basicconcepts 552
14.2 input andoutputoperators 556
14.2.1 overloading the output operator [[557
14.2.2 overloading the input operator ]]. 558
14.3 arithmetic andrelationaloperators 560
14.3.1 equalityoperators 561
14.3.2 relationaloperators 562
14.4 assignmentoperators 563
14.5 subscriptoperator 564
14.6 increment anddecrementoperators 566
14.7 memberaccessoperators 569
14.8 function-calloperator 571
14.8.1 lambdasarefunctionobjects 572
14.8.2 library-definedfunctionobjects 574
14.8.3 callable objects and function 576
14.9 overloading,conversions, andoperators 579
14.9.1 conversionoperators 580
14.9.2 avoidingambiguousconversions 583
14.9.3 functionmatchingandoverloadedoperators 587
chaptersummary 590
definedterms 590
chapter 15 object-oriented programming 591
15.1 oop:anoverview 592
15.2 definingbaseandderivedclasses 594
15.2.1 definingabaseclass 594
15.2.2 definingaderivedclass 596
15.2.3 conversions andinheritance 601
15.3 virtualfunctions 603
15.4 abstractbaseclasses 608
15.5 accesscontrol andinheritance 611
15.6 classscopeunder inheritance 617
15.7 constructors andcopycontrol 622
15.7.1 virtualdestructors 622
15.7.2 synthesizedcopycontrol andinheritance 623
15.7.3 derived-classcopy-controlmembers 625
15.7.4 inheritedconstructors 628
15.8 containers andinheritance 630
15.8.1 writing a basketclass 631
15.9 textqueriesrevisited 634
15.9.1 anobject-orientedsolution 636
15.9.2 the query_base and queryclasses 639
15.9.3 thederivedclasses 642
15.9.4 the evalfunctions 645
chaptersummary 649
definedterms 649
chapter 16 templates and generic programming 651
16.1 definingatemplate. 652
16.1.1 functiontemplates 652
16.1.2 classtemplates 658
16.1.3 templateparameters 668
16.1.4 membertemplates 672
16.1.5 controlling instantiations 675
16.1.6 efficiency and flexibility 676
16.2 templateargumentdeduction 678
16.2.1 conversions andtemplatetypeparameters 679
16.2.2 function-templateexplicitarguments 681
16.2.3 trailing return types and type transformation 683
16.2.4 functionpointers andargumentdeduction 686
16.2.5 templateargumentdeductionandreferences 687
16.2.6 understanding std::move 690
16.2.7 forwarding 692
16.3 overloadingandtemplates 694
16.4 variadictemplates 699
16.4.1 writingavariadicfunctiontemplate 701
16.4.2 packexpansion 702
16.4.3 forwardingparameterpacks 704
16.5 template specializations 706
chaptersummary 713
definedterms 713
part iv advanced topics 715
chapter 17 specialized library facilities 717
17.1 the tupletype 718
17.1.1 defining and initializing tuples 718
17.1.2 using a tuple toreturnmultiplevalues 721
17.2 the bitsettype 723
17.2.1 defining and initializing bitsets 723
17.2.2 operations on bitsets 725
17.3 regularexpressions 728
17.3.1 usingtheregularexpressionlibrary 729
17.3.2 thematchandregex iteratortypes 734
17.3.3 usingsubexpressions 738
17.3.4 using regex_replace 741
17.4 randomnumbers 745
17.4.1 random-numberengines anddistribution 745
17.4.2 otherkinds ofdistributions 749
17.5 the iolibraryrevisited 752
17.5.1 formattedinput andoutput 753
17.5.2 unformattedinput/outputoperations 761
17.5.3 randomaccess toastream 763
chaptersummary 769
definedterms 769
chapter 18 tools for large programs 771
18.1 exceptionhandling 772
18.1.1 throwinganexception 772
18.1.2 catchinganexception 775
18.1.3 function tryblocks andconstructors 777
18.1.4 the noexceptexceptionspecification 779
18.1.5 exceptionclasshierarchies 782
18.2 namespaces 785
18.2.1 namespacedefinitions 785
18.2.2 usingnamespacemembers 792
18.2.3 classes,namespaces,andscope 796
18.2.4 overloadingandnamespaces 800
18.3 multiple andvirtual inheritance 802
18.3.1 multiple inheritance 803
18.3.2 conversions andmultiplebaseclasses 805
18.3.3 classscopeundermultiple inheritance 807
18.3.4 virtual inheritance 810
18.3.5 constructors andvirtual inheritance 813
chaptersummary 816
definedterms 816
chapter 19 specialized tools and techniques 819
19.1 controlling memory allocation 820
19.1.1 overloading new and delete 820
19.1.2 placement newexpressions 823
19.2 run-timetypeidentification 825
19.2.1 the dynamic_castoperator 825
19.2.2 the typeidoperator 826
19.2.3 usingrtti 828
19.2.4 the type_infoclass 831
19.3 enumerations 832
19.4 pointer toclassmember 835
19.4.1 pointers todatamembers 836
19.4.2 pointers tomemberfunctions 838
19.4.3 usingmemberfunctions ascallableobjects 841
19.5 nestedclasses 843
19.6 union:aspace-savingclass 847
19.7 localclasses 852
19.8 inherentlynonportablefeatures 854
19.8.1 bit-fields 854
19.8.2 volatilequalifier 856
19.8.3 linkage directives: extern "c" 857
chaptersummary 862
definedterms 862
appendix a the library 865
a.1 librarynames andheaders 866
a.2 abrieftourof thealgorithms 870
a.2.1 algorithms tofindanobject 871
a.2.2 otherread-onlyalgorithms 872
a.2.3 binarysearchalgorithms 873
a.2.4 algorithmsthatwritecontainerelements 873
a.2.5 partitioningandsortingalgorithms 875
a.2.6 generalreorderingoperations 877
a.2.7 permutationalgorithms 879
a.2.8 setalgorithms forsortedsequences 880
a.2.9 minimumandmaximumvalues 880
a.2.10 numericalgorithms 881
a.3 randomnumbers 882
a.3.1 randomnumberdistributions 883
a.3.2 randomnumberengines 884
 
图书信息来源: 中国互动出版网

你可能感兴趣的:(Prim)