新标准C++程序设计 - 中国高校教材图书网
|
书名: |
新标准C++程序设计
|
ISBN: | 7-5641-7847-5 |
条码: | |
作者: |
严悍
相关图书
|
装订: | 平装 |
印次: | 1-1 |
开本: | 大32开 |
定价: |
¥90.00
折扣价:¥85.50
折扣:0.95
节省了4.5元
|
字数: |
|
出版社: |
东南大学出版社 |
页数: |
|
发行编号: | |
每包册数: |
|
出版日期: |
2018-10-01 |
|
内容简介: |
C++是国内外广泛采用的编程语言,应用于多种计算平台,国内很多高校都开设C/C++编程的相关课程,也出现了数百种相关教材。C/C++语言在2011年之前主要采用C99和2003标准。2011年国际标准化组织和国际电工委员会发布了C++11新标准,推出近百个新语言特征,之后C++14和C++17进一步完善了新标准。新标准引入许多新概念、新规则,使得C++编程表达复杂多变,初学者感到学习实践难度较大。本书采用研讨加实践的方式,力图使初学者能熟练掌握新概念、新规则,并增强编程求解能力。 本书共15章,主要分为两部分:第1部分(前8章)主要介绍结构化编程和函数式编程,第2部分(后7章)主要介绍面向对象编程和泛型编程。 本书可作为大学各学科专业学生学习实践C++的基础教材,也适合作为软件工程开发人员的自学用书和研究人员的参考用书。
|
作者简介: |
|
章节目录: |
第1章概述1
11C++语言发展历史1
12一个简单的C++程序2
13C++程序的开发步骤3
14开发工具简介4
15C++标准及开发工具6
16C++11与C++14新特征7
17本书组织结构10
18类型大图及导读10
第2章基本类型与变量13
21关键字和标识符13
211关键字13
212标识符14
213标点符号15
214分隔符与标记15
22基本类型15
221逻辑型16
222字符型17
223整数型17
224浮点型18
225空类型19
23字面值19
231逻辑值19
232整型值19
233浮点值20
234字符值20
235字符串值22
24变量22
241变量的说明22
242变量的初始化23
243auto初始化23
244变量的赋值24
245变量的输入输出24
246命名常量27
小结27
练习题27
第3章运算符与表达式29
31基本运算符29
311算术运算符31
312关系运算符32
313逻辑运算符33
314位运算符34
315条件运算符36
316赋值运算符36
317逗号运算符37
318自增自减运算符37
319sizeof运算符39
3110typeid运算符39
3111其他运算符40
32表达式41
321左值表达式和右值表达式41
322表达式语句41
323表达式类型与decltype42
33类型转换42
331自动类型转换42
332赋值类型转换44
333强制类型转换45
小结46
练习题46
第4章基本语句49
41语句分类49
42结构化编程基本结构49
421顺序结构50
422选择结构50
423循环结构51
43选择语句52
431条件语句52
432switch语句55
44循环语句56
441while语句57
442dowhile语句58
443for语句59
444循环语句的比较60
445循环的嵌套60
45跳转语句61
451break语句61
452continue语句62
453goto语句与标号语句63
46综合示例63
小结66
练习题67
第5章函数和编译预处理69
51函数基本概念69
511库函数和用户定义函数69
512无参函数和有参函数69
513有返回函数和无返回函数70
52函数的定义70
521传统函数定义70
522函数定义的要点71
53函数的调用72
531函数调用的形式72
532函数调用的方式72
533函数调用与以值传递73
54函数重载74
541重载函数的定义75
542重载函数的调用75
55嵌套调用和递归调用76
551函数的嵌套调用76
552函数的递归调用77
56函数原型82
57auto函数与尾随返回类型83
58特殊参数84
581带缺省值的形参84
582可变参数85
59inline函数与constexpr函数87
591inline函数87
592constexpr函数87
510作用域88
5101局部作用域88
5102文件作用域与全局作用域运算符90
5103函数原型作用域90
5104函数作用域91
511程序运行期存储区域91
512存储类91
5121static变量与多文件项目92
5122extern变量94
5123thread_local变量95
5124存储类小结96
513编译预处理96
5131包含文件97
5132无参宏98
5133有参宏100
5134条件编译103
5135条件编译示例104
5136其他预处理指令105
小结106
练习题107
第6章数组与字符串111
61一维数组111
611一维数组的定义111
612一维数组的初始化112
613一维数组的访问113
614基于范围for语句114
615一维数组的应用115
616调用标准算法简化数组编程119
62二维数组121
621二维数组的定义121
622二维数组的初始化121
623二维数组的应用122
63数组与函数124
64容器vector与map127
641vector127
642map129
643初始化列表与统一初始化131
65字符数组与字符串132
651字符数组的定义132
652字符数组的初始化133
653字符数组的输入输出134
654字符数组的操作136
66字符串处理函数137
661字符数组处理函数137
662string类型139
663字符串应用示例140
小结142
练习题142
第7章结构、 枚举、 联合体146
71结构146
711结构类型的定义146
712说明结构变量149
713结构变量的初始化149
714结构变量的使用150
715结构的数组152
716结构中的静态成员155
717结构的嵌套定义157
718C++结构的构造函数与成员函数157
72位域159
721位域的定义159
722位域的使用161
73枚举162
731枚举类型及枚举变量162
732枚举的使用163
733强类型枚举165
74联合体166
741联合体类型的定义166
742联合体变量的说明及使用167
743非受限联合体169
75类型别名typedef与using170
小结171
练习题172
第8章指针和引用175
81指针及指针变量175
811指针概念与求址运算175
812指针变量的说明与初始化177
813指针的运算178
814用nullptr替代NULL182
82指针与结构182
821结构的指针182
822指针作为结构成员184
83指针与数组186
831用指针访问数组186
832指针与字符串189
833指针的数组191
84指针与函数198
841指针作为形参198
842函数返回指针199
843函数的指针200
85void指针与const指针203
851void指针204
852const指针205
86动态使用内存206
861new运算符206
862delete运算符208
863智能指针与垃圾回收GC211
87引用213
871左值引用213
872左值引用与数组、 指针的关系214
873左值引用与函数216
874指针与左值引用的对比220
875右值引用&&221
876引用类型绑定关系223
877auto推导与decltype推导规则224
88Lambda表达式226
881语法构造226
882简单用法228
883嵌套L式与高阶函数229
884调用STL算法230
小结231
练习题232
第9章类和对象239
91类239
911类的定义239
912类成员的可见性241
913类的数据成员242
914类的成员函数243
915类与结构的区别246
92对象247
921对象的创建247
922访问对象的成员248
923类与对象的关系249
93this指针249
94类中的其他内容250
小结251
练习题251
第10章类的成员253
101构造函数253
1011构造函数的定义253
1012缺省构造函数254
1013委托构造函数254
102析构函数255
103拷贝构造函数与拷贝赋值函数257
1031拷贝构造函数257
1032拷贝赋值函数259
1033浅拷贝与深拷贝261
1034用string替代char263
1035转换构造函数263
104移动构造函数与移动赋值函数265
1041移动语义265
1042移动构造函数266
1043移动赋值函数267
1044移动实例分析267
105特殊成员函数及其显式控制270
1051特殊成员函数总结270
1052特殊成员函数的显式控制272
106复合对象与成员对象274
1061复合类的构造与析构274
1062复合对象设计要点275
107对象数组276
1071定义和使用276
1072对象数组作为成员277
108静态成员277
1081静态数据成员277
1082静态成员函数279
109限定符280
1091限定符const280
1092限定符volatile282
1093引用限定符283
1010类成员的指针284
10101数据成员的指针284
10102成员函数的指针286
1011线程对象thread287
小结290
练习题290
第11章类的继承295
111继承与派生295
1111基类与派生类295
1112派生类的定义与构成296
1113继承方式与访问控制297
112派生类的构造和析构299
1121派生类的构造函数299
1122派生类继承构造函数301
1123派生类的析构过程302
113二义性问题与支配规则303
1131多继承造成的二义性303
1132支配规则304
1133导入基类成员305
114虚基类306
1141共同基类造成的二义性306
1142虚基类的说明307
1143虚基类的例子309
115子类型关系310
116虚函数313
1161虚函数定义和使用313
1162成员函数中调用虚函数316
1163构造函数中调用虚函数317
1164虚析构函数318
1165纯虚函数与抽象类319
1166final函数与类321
117标量、 平凡、 标准布局与POD322
118字面类型与constexpr对象324
119继承性设计要点325
小结327
练习题327
第12章运算符重载332
121一般运算符重载332
1211运算符重载函数332
1212双目运算符的重载333
1213单目运算符的重载334
122友元函数实现运算符336
1221友元friend336
1222友元运算符函数337
1223用户定义字面值UDL339
123特殊运算符重载341
1231类型转换函数341
1232下标运算符343
1233函数调用运算符344
1234new/delete运算符344
小结345
练习题346
第13章模板与STL348
131模板的概念348
132函数模板349
1321函数模板的定义349
1322函数模板的使用350
1323函数模板的显式特例化353
1324函数模板与有参宏的区别354
1325函数模板重载与SFINAE规则354
1326模板正确实例化与静态断言356
1327带缺省实参的函数模板357
1328可变参量的函数模板359
1329完美转发与引用折叠规则360
13210auto函数推导返回类型362
133类模板与别名模板364
1331类模板的定义364
1332类模板的使用365
1333显式特例化与部分特例化368
1334友元模板371
1335类模板的继承374
1336带缺省实参的类模板376
1337可变参量的类模板376
1338嵌套类模板377
1339别名模板378
134标准模板库STL379
1341容器概念379
1342迭代器381
1343容器的共同成员类型和操作382
1344算法383
1345基于C++11简化编程385
1346函数对象386
1347vector, deque和list387
1348set和multiset390
1349map和multimap393
135命名空间398
1351命名空间的定义398
1352空间中成员的访问399
1353inline命名空间400
小结401
练习题401
第14章输入输出流404
141概述404
1411流404
1412文件405
1413缓冲405
142基本流类405
1421基本流类体系405
1422预定义标准对象406
1423流的格式控制407
1424流的错误处理410
143标准输入/输出411
1431cin输入要点411
1432输入操作的成员函数412
1433cout输出要点414
1434输出操作的成员函数415
1435重载<<和>>运算符415
144文件流416
1441文件概述416
1442文件处理的一般过程416
1443文件的打开与关闭417
1444文本文件的使用419
1445二进制文件的使用422
1446文件的随机访问425
小结427
练习题427
第15章异常429
151异常的概念429
152异常类型的架构431
153异常处理语句432
1531throw语句432
1532trycatch语句434
1533异常处理的例子436
1534无异常noexcept439
154终止处理器440
155通用属性441
小结442
练习题442
附录AASCII码表445
表A1常用ASCII码表445
表A2ASCII控制字符446
附录B常用库函数447
表B1运行库的功能分类447
表B2运行库头文件448
表B3标准C++头文件449
表B4string类型450
表B5数学函数452
表B6C标准库453
表B7内存函数454
表B8时间函数与454
参考文献456
|
精彩片段: |
|
书 评: |
|
其 它: |
|
|
|