C++ Primer 中文版 第五版 C++程序设计从入门到精通 零基础自学C++编程语言-博文视点-电子工业出版社 pdf下载
选择版本
内容简介
本篇主要提供C++ Primer 中文版 第五版 C++程序设计从入门到精通 零基础自学C++编程语言-博文视点-电子工业出版社电子书的pdf版本下载,本电子书下载方式为百度网盘方式,点击以上按钮下单完成后即会通过邮件和网页的方式发货,有问题请联系邮箱ebook666@outlook.com
<div align="center"> <!--自定义模块--> <!-- 公告栏 --> <div class="billboard" style="width: 790px;height:100%;margin: 0 auto;"> <div> <img style="width:100%;" src="http://img10.360buyimg.com/imgzone/jfs/t1/186388/32/45497/102325/66502c05F5c77579a/66eeb1508aca62b5.jpg.avif" width="988"/> </div> </div> <!--会场模块--> <div style="width: 790px;margin: auto;"> <img src='http://img14.360buyimg.com/cms/jfs/t1/203358/9/26405/134589/62f4a34cEcdefae53/84e082ed3b03dbc0.jpg.avif' usemap='#KCLQZ' /><map name='KCLQZ'><area shape='rect' coords='18,117,202,327' href='https://item.jd.com/10041489680804.html' target='_blank' style='outline:none'/><area shape='rect' coords='210,117,392,328' href='https://item.jd.com/47668645554.html' target='_blank' style='outline:none'/><area shape='rect' coords='400,114,580,330' href='https://item.jd.com/10027110980512.html' target='_blank' style='outline:none'/><area shape='rect' coords='590,117,773,329' href='https://item.jd.com/70196904574.html' target='_blank' style='outline:none'/><area shape='rect' coords='18,344,203,560' href='https://item.jd.com/71174979226.html' target='_blank' style='outline:none'/><area shape='rect' coords='210,344,392,559' href='https://item.jd.com/1049023087.html' target='_blank' style='outline:none'/><area shape='rect' coords='400,347,584,562' href='https://item.jd.com/69539037997.html' target='_blank' style='outline:none'/><area shape='rect' coords='588,346,774,560' href='https://item.jd.com/10023638908471.html' target='_blank' style='outline:none'/><area shape='rect' coords='17,579,204,794' href='https://item.jd.com/21738292624.html' target='_blank' style='outline:none'/><area shape='rect' coords='210,576,395,794' href='https://item.jd.com/50449714753.html' target='_blank' style='outline:none'/><area shape='rect' coords='400,579,581,793' href='https://item.jd.com/1027391726.html' target='_blank' style='outline:none'/><area shape='rect' coords='587,580,770,792' href='https://item.jd.com/47908427478.html' target='_blank' style='outline:none'/></map> </div> <!-- 书单 --> <!--导航模块--> <div class="detailpage" style="width: 790px;height:100%;margin:0 auto; font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <!-- 预售说明 --> <!-- 预售说明 end --> <img src="https://img1.360buyimg.com/imgzone/jfs/t1/79914/18/10687/305601/5d8335d9E76d62233/b2312b787d5fe679.jpg.avif"/><img src="https://img1.360buyimg.com/imgzone/jfs/t1/42833/19/15366/341732/5d8335daEf11a1f6b/6748b1c6c84efdfb.jpg.avif"/><img src="https://img1.360buyimg.com/imgzone/jfs/t1/81345/4/8938/390092/5d8335dbEd0ca68f3/00ed8092a6b95071.jpg.avif"/><img src="https://img1.360buyimg.com/imgzone/jfs/t1/75309/22/10764/512262/5d8335dbE0ba9fa8b/8e71000cc30d45c8.jpg.avif"/><img src="https://img1.360buyimg.com/imgzone/jfs/t1/61421/16/10722/546779/5d8335dcEf397410d/1b49c22fd197cae2.jpg.avif"/> <!-- 商品规格信息 --> <div class="detailpage-top" style="width: 790px;height:100%;margin:0 auto; font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <div style="width:740px;margin:0 auto;padding: 40px 0 20px 0;color: #666666;" align="left"> <div style="padding: 10px 0 0 0;"> <span style="margin-left: 20px; line-height:44.17px;">作 者:</span><span style="margin-left: 20px;">(美)李普曼,(美)拉乔伊,(美)默 著 王刚,杨巨峰 译</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> <div style="padding: 10px 0 0 0px;"> <span style="margin-left: 20px; line-height:44.17px">定 价:</span><span style="margin-left: 20px;">128</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> <div style="padding: 10px 0 0 0;"> <span style="margin-left: 20px; line-height:44.17px">出 版 社:</span><span style="margin-left: 20px;">电子工业出版社</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> <div style="padding: 10px 0 0 0;"> <span style="margin-left: 20px; line-height:44.17px">出版日期:</span><span style="margin-left: 20px;">2013年09月01日</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> <div style="padding: 10px 0 0 0;"> <span style="margin-left: 20px; line-height:44.17px">页 数:</span><span style="margin-left: 20px;">864</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> <div style="padding: 10px 0;"> <span style="margin-left: 20px; line-height:44.17px">装 帧:</span><span style="margin-left: 20px;">平装</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> <div style="padding: 10px 0 0 0;"> <span style="margin-left: 20px; line-height:44.17px">ISBN:</span><span style="margin-left: 20px;">9787121155352</span> </div> <img style="float: left;" src="https://img20.360buyimg.com/imgzone/jfs/t6718/58/909143895/242/eaf3966b/594760c5N86a56a5c.png.avif" alt=""/> </div> </div> <!-- 商品规格信息 end --> <!-- 主编推荐 --> <div class="detailpage-remark" style="width: 790px;height:100%;margin:0 auto; font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <img style="padding:30px 0 0 0;width: 790px;height:90px" src="https://img10.360buyimg.com/imgzone/jfs/t5872/100/4033067539/28245/457384f7/59476566N58b3cfcb.jpg.avif" alt="主编推荐"/> <div style="text-indent: 2em;text-align: left;line-height: 44.17px;"> <br/><br/> <span style="color:#000000;">C++领域权威 潘爱民|孟岩作序,代表技术圈鼎力推荐</span><br /> <span style="color:#000000;">一线C++工程师腾讯Milo、微软刘未鹏|陈梓瀚、阿里李云|侯凤林高水准技术审校</span><br /> <span style="color:#000000;">如果只读一本C++书籍,相信所有读过的人都会毫不犹豫选择本书,无论初学或老手</span><br /> <span等 </div> </div> <!-- 主编推荐 end --> <!-- 目录 --> <div align="center" style="width:790px;margin:0 auto;font-size:29.5px;"> <img alt="目录" src="https://img10.360buyimg.com/imgzone/jfs/t6136/181/911596955/17102/ca46c3d9/594761d3N861e15b9.png.avif" style="padding:30px 0 0 0;width:790px;"/> <div align="left" style="width:650px;margin:auto;text-align:left;line-height:44.17px"> <span style="margin-right: 18px;">●</span>第1章 开始 1<br /> 1.1 编写一个简单的C++程序 2<br /> 1.1.1 编译、运行程序 3<br /> 1.2 初识输入输出 5<br /> 1.3 注释简介 8<br /> 1.4 控制流 10<br /> 1.4.1 while语句 10<br /> 1.4.2 for语句 11<br /> 1.4.3 读取数量不定的输入数据 13<br /> 1.4.4 if语句 15<br /> 1.5 类简介 17<br /> 1.5.1 Sales_item类 17<br /> 1.5.2 初识成员函数 20<br /> 1.6 书店程序 21<br /> 小结 23<br /> 术语表 23<br /> 第Ⅰ部分 C++基础 27<br /> 第2章 变量和基本类型 29<br /> 2.1 基本内置类型 30<br /> 2.1.1 算术类型 30<br /> 2.1.2 类型转换 32<br /> 2.1.3 字面值常量 35<br /> 2.2 变量 38<br /> 2.2.1 变量定义 38<br /> 2.2.2 变量声明和定义的关系 41<br /> 2.2.3 标识符 42<br /> 2.2.4 名字的作用域 43<br /> 2.3 复合类型 45<br /> 2.3.1 引用 45<br /> 2.3.2 指针 47<br /> 2.3.3 理解复合类型的声明 51<br /> 2.4 const限定符 53<br /> 2.4.1 const的引用 54<br /> 2.4.2 指针和const 56<br /> 2.4.3 顶层const 57<br /> 2.4.4 constexpr和常量表达式 58<br /> 2.5 处理类型 60<br /> 2.5.1 类型别名 60<br /> 2.5.2 auto类型说明符 61<br /> 2.5.3 decltype类型指示符 62<br /> 2.6 自定义数据结构 64<br /> 2.6.1 定义Sales_data类型 64<br /> 2.6.2 使用Sales_data类 66<br /> 2.6.3 编写自己的头文件 67<br /> 小结 69<br /> 术语表 69<br /> 第3章 字符串、向量和数组 73<br /> 3.1 命名空间的using声明 74<br /> 3.2 标准库类型string 75<br /> 3.2.1 定义和初始化string对象 76<br /> 3.2.2 string对象上的操作 77<br /> 3.2.3 处理string对象中的字符 81<br /> 3.3 标准库类型vector 86<br /> 3.3.1 定义和初始化vector对象 87<br /> 3.3.2 向vector对象中添加元素 90<br /> 3.3.3 其他vector操作 91<br /> 3.4 迭代器介绍 95<br /> 3.4.1 使用迭代器 95<br /> 3.4.2 迭代器运算 99<br /> 3.5 数组 101<br /> 3.5.1 定义和初始化内置数组 101<br /> 3.5.2 访问数组元素 103<br /> 3.5.3 指针和数组 105<br /> 3.5.4 C风格字符串 109<br /> 3.5.5 与旧代码的接口 111<br /> 3.6 多维数组 112<br /> 小结 117<br /> 术语表 117<br /> 第4章 表达式 119<br /> 4.1 基础 120<br /> 4.1.1 基本概念 120<br /> 4.1.2 优先级与结合律 121<br /> 4.1.3 求值顺序 123<br /> 4.2 算术运算符 124<br /> 4.3 逻辑和关系运算符 126<br /> 4.4 赋值运算符 129<br /> 4.5 递增和递减运算符 131<br /> 4.6 成员访问运算符 133<br /> 4.7 条件运算符 134<br /> 4.8 位运算符 135<br /> 4.9 sizeof运算符 139<br /> 4.10 逗号运算符 140<br /> 4.11 类型转换 141<br /> 4.11.1 算术转换 142<br /> 4.11.2 其他隐式类型转换 143<br /> 4.11.3 显式转换 144<br /> 4.12 运算符优先级表 147<br /> 小结 149<br /> 术语表 149<br /> 第5章 语句 153<br /> 5.1 简单语句 154<br /> 5.2 语句作用域 155<br /> 5.3 条件语句 156<br /> 5.3.1 if语句 156<br /> 5.3.2 switch语句 159<br /> 5.4 迭代语句 165<br /> 5.4.1 while语句 165<br /> 5.4.2 传统的for语句 166<br /> 5.4.3 范围for语句 168<br /> 5.4.4 do while语句 169<br /> 5.5 跳转语句 170<br /> 5.5.1 break语句 170<br /> 5.5.2 continue语句 171<br /> 5.5.3 goto语句 172<br /> 5.6 try语句块和异常处理 172<br /> 5.6.1 throw表达式 173<br /> 5.6.2 try语句块 174<br /> 5.6.3 标准异常 176<br /> 小结 178<br /> 术语表 178<br /> 第6章 函数 181<br /> 6.1 函数基础 182<br /> 6.1.1 局部对象 184<br /> 6.1.2 函数声明 186<br /> 6.1.3 分离式编译 186<br /> 6.2 参数传递 187<br /> 6.2.1 传值参数 187<br /> 6.2.2 传引用参数 188<br /> 6.2.3 const形参和实参 190<br /> 6.2.4 数组形参 193<br /> 6.2.5 main:处理命令行选项 196<br /> 6.2.6 含有可变形参的函数 197<br /> 6.3 返回类型和return语句 199<br /> 6.3.1 无返回值函数 200<br /> 6.3.2 有返回值函数 200<br /> 6.3.3 返回数组指针 205<br /> 6.4 函数重载 206<br /> 6.4.1 重载与作用域 210<br /> 6.5 特殊用途语言特性 211<br /> 6.5.1 默认实参 211<br /> 6.5.2 内联函数和constexpr函数 213<br /> 6.5.3 调试帮助 215<br /> 6.6 函数匹配 217<br /> 6.6.1 实参类型转换 219<br /> 6.7 函数指针 221<br /> 小结 225<br /> 术语表 225<br /> 第7章 类 227<br /> 7.1 定义抽象数据类型 228<br /> 7.1.1 设计Sales_data类 228<br /> 7.1.2 定义改进的Sales_data类 230<br /> 7.1.3 定义类相关的非成员函数 234<br /> 7.1.4 构造函数 235<br /> 7.1.5 拷贝、赋值和析构 239<br /> 7.2 访问控制与封装 240<br /> 7.2.1 友元 241<br /> 7.3 类的其他特性 243<br /> 7.3.1 类成员再探 243<br /> 7.3.2 返回*this的成员函数 246<br /> 7.3.3 类类型 249<br /> 7.3.4 友元再探 250<br /> 7.4 类的作用域 253<br /> 7.4.1 名字查找与类的作用域 254<br /> 7.5 构造函数再探 257<br /> 7.5.1 构造函数初始值列表 258<br /> 7.5.2 委托构造函数 261<br /> 7.5.3 默认构造函数的作用 262<br /> 7.5.4 隐式的类类型转换 263<br /> 7.5.5 聚合类 266<br /> 7.5.6 字面值常量类 267<br /> 7.6 类的静态成员 268<br /> 小结 273<br /> 术语表 273<br /> 第Ⅱ部分 C++标准库 275<br /> 第8章 IO库 277<br /> 8.1 IO类 278<br /> 8.1.1 IO对象无拷贝或赋值 279<br /> 8.1.2 条件状态 279<br /> 8.1.3 管理输出缓冲 281<br /> 8.2 文件输入输出 283<br /> 8.2.1 使用文件流对象 284<br /> 8.2.2 文件模式 286<br /> 8.3 string流 287<br /> 8.3.1 使用istringstream 287<br /> 8.3.2 使用ostringstream 289<br /> 小结 290<br /> 术语表 290<br /> 第9章 顺序容器 291<br /> 9.1 顺序容器概述 292<br /> 9.2 容器库概览 294<br /> 9.2.1 迭代器 296<br /> 9.2.2 容器类型成员 297<br /> 9.2.3 begin和end成员 298<br /> 9.2.4 容器定义和初始化 299<br /> 9.2.5 赋值和swap 302<br /> 9.2.6 容器大小操作 304<br /> 9.2.7 关系运算符 304<br /> 9.3 顺序容器操作 305<br /> 9.3.1 向顺序容器添加元素 305<br /> 9.3.2 访问元素 309<br /> 9.3.3 删除元素 311<br /> 9.3.4 特殊的forward_list操作 312<br /> 9.3.5 改变容器大小 314<br /> 9.3.6 容器操作可能使迭代器失效 315<br /> 9.4 vector对象是如何增长的 317<br /> 9.5 额外的string操作 320<br /> 9.5.1 构造string的其他方法 321<br /> 9.5.2 改变string的其他方法 322<br /> 9.5.3 string搜索操作 325<br /> 9.5.4 compare函数 327<br /> 9.5.5 数值转换 327<br /> 9.6 容器适配器 329<br /> 小结 332<br /> 术语表 332<br /> 第10章 泛型算法 335<br /> 10.1 概述 336<br /> 10.2 初识泛型算法 338<br /> 10.2.1 只读算法 338<br /> 10.2.2 写容器元素的算法 339<br /> 10.2.3 重排容器元素的算法 342<br /> 10.3 定制操作 344<br /> 10.3.1 向算法传递函数 344<br /> 10.3.2 lambda表达式 345<br /> 10.3.3 lambda捕获和返回 349<br /> 10.3.4 参数绑定 354<br /> 10.4 再探迭代器 357<br /> 10.4.1 插入迭代器 358<br /> 10.4.2 iostream迭代器 359<br /> 10.4.3 反向迭代器 363<br /> 10.5 泛型算法结构 365<br /> 10.5.1 5类迭代器 365<br /> 10.5.2 算法形参模式 367<br /> 10.5.3 算法命名规范 368<br /> 10.6 特定容器算法 369<br /> 小结 371<br /> 术语表 371<br /> 第11章 关联容器 373<br /> 11.1 使用关联容器 374<br /> 11.2 关联容器概述 376<br /> 11.2.1 定义关联容器 376<br /> 11.2.2 关键字类型的要求 378<br /> 11.2.3 pair类型 379<br /> 11.3 关联容器操作 381<br /> 11.3.1 关联容器迭代器 382<br /> 11.3.2 添加元素 383<br /> 11.3.3 删除元素 386<br /> 11.3.4 map的下标操作 387<br /> 11.3.5 访问元素 388<br /> 11.3.6 一个单词转换的map 391<br /> 11.4 无序容器 394<br /> 小结 397<br /> 术语表 397<br /> 第12章 动态内存 399<br /> 12.1 动态内存与智能指针 400<br /> 12.1.1 shared_ptr类 400<br /> 12.1.2 直接管理内存 407<br /> 12.1.3 shared_ptr和new结合使用 412<br /> 12.1.4 智能指针和异常 415<br /> 12.1.5 unique_ptr 417<br /> 12.1.6 weak_ptr 420<br /> 12.2 动态数组 423<br /> 12.2.1 new和数组 423<br /> 12.2.2 allocator类 427<br /> 12.3 使用标准库:文本查询程序 430<br /> 12.3.1 文本查询程序设计 430<br /> 12.3.2 文本查询程序类的定义 432<br /> 小结 436<br /> 术语表 436<br /> 第Ⅲ部分 类设计者的工具 437<br /> 第13章 拷贝控制 439<br /> 13.1 拷贝、赋值与销毁 440<br /> 13.1.1 拷贝构造函数 440<br /> 13.1.2 拷贝赋值运算符 443<br /> 13.1.3 析构函数 444<br /> 13.1.4 三/五法则 447<br /> 13.1.5 使用=default 449<br /> 13.1.6 阻止拷贝 449<br /> 13.2 拷贝控制和资源管理 452<br /> 13.2.1 行为像值的类 453<br /> 13.2.2 定义行为像指针的类 455<br /> 13.3 交换操作 457<br /> 13.4 拷贝控制示例 460<br /> 13.5 动态内存管理类 464<br /> 13.6 对象移动 470<br /> 13.6.1 右值引用 471<br /> 13.6.2 移动构造函数和移动赋值运算符 473<br /> 13.6.3 右值引用和成员函数 481<br /> 小结 486<br /> 术语表 486<br /> 第14章 重载运算与类型转换 489<br /> 14.1 基本概念 490<br /> 14.2 输入和输出运算符 494<br /> 14.2.1 重载输出运算符<< 494<br /> 14.2.2 重载输入运算符>> 495<br /> 14.3 算术和关系运算符 497<br /> 14.3.1 相等运算符 497<br /> 14.3.2 关系运算符 498<br /> 14.4 赋值运算符 499<br /> 14.5 下标运算符 501<br /> 14.6 递增和递减运算符 502<br /> 14.7 成员访问运算符 504<br /> 14.8 函数调用运算符 506<br /> 14.8.1 lambda是函数对象 507<br /> 14.8.2 标准库定义的函数对象 509<br /> 14.8.3 可调用对象与function 511<br /> 14.9 重载、类型转换与运算符 514<br /> 14.9.1 类型转换运算符 514<br /> 14.9.2 避免有二义性的类型转换 517<br /> 14.9.3 函数匹配与重载运算符 521<br /> 小结 523<br /> 术语表 523<br /> 第15章 面向对象程序设计 525<br /> 15.1 OOP:概述 526<br /> 15.2 定义基类和派生类 527<br /> 15.2.1 定义基类 528<br /> 15.2.2 定义派生类 529<br /> 15.2.3 类型转换与继承 534<br /> 15.3 虚函数 536<br /> 15.4 抽象基类 540<br /> 15.5 访问控制与继承 542<br /> 15.6 继承中的类作用域 547<br /> 15.7 构造函数与拷贝控制 551<br /> 15.7.1 虚析构函数 552<br /> 15.7.2 合成拷贝控制与继承 552<br /> 15.7.3 派生类的拷贝控制成员 554<br /> 15.7.4 继承的构造函数 557<br /> 15.8 容器与继承 558<br /> 15.8.1 编写Basket类 559<br /> 15.9 文本查询程序再探 562<br /> 15.9.1 面向对象的解决方案 563<br /> 15.9.2 Query_base类和Query类 567<br /> 15.9.3 派生类 568<br /> 15.9.4 eval函数 571<br /> 小结 575<br /> 术语表 575<br /> 第16章 模板与泛型编程 577<br /> 16.1 定义模板 578<br /> 16.1.1 函数模板 578<br /> 16.1.2 类模板 583<br /> 16.1.3 模板参数 592<br /> 16.1.4 成员模板 595<br /> 16.1.5 控制实例化 597<br /> 16.1.6 效率与灵活性 599<br /> 16.2 模板实参推断 600<br /> 16.2.1 类型转换与模板类型参数 601<br /> 16.2.2 函数模板显式实参 603<br /> 16.2.3 尾置返回类型与类型转换 604<br /> 16.2.4 函数指针和实参推断 607<br /> 16.2.5 模板实参推断和引用 608<br /> 16.2.6 理解std::move 610<br /> 16.2.7 转发 612<br /> 16.3 重载与模板 614<br /> 16.4 可变参数模板 618<br /> 16.4.1 编写可变参数函数模板 620<br /> 16.4.2 包扩展 621<br /> 16.4.3 转发参数包 622<br /> 16.5 模板特例化 624<br /> 小结 630<br /> 术语表 630<br /> 第Ⅳ部分 高级主题 633<br /> 第17章 标准库特殊设施 635<br /> 17.1 tuple类型 636<br /> 17.1.1 定义和初始化tuple 637<br /> 17.1.2 使用tuple返回多个值 638<br /> 17.2 bitset类型 640<br /> 17.2.1 定义和初始化bitset 641<br /> 17.2.2 bitset操作 643<br /> 17.3 正则表达式 645<br /> 17.3.1 使用正则表达式库 646<br /> 17.3.2 匹配与Regex迭代器类型 650<br /> 17.3.3 使用子表达式 653<br /> 17.3.4 使用regex_replace 657<br /> 17.4 随机数 659<br /> 17.4.1 随机数引擎和分布 660<br /> 17.4.2 其他随机数分布 663<br /> 17.5 IO库再探 666<br /> 17.5.1 格式化输入与输出 666<br /> 17.5.2 未格式化的输入/输出操作 673<br /> 17.5.3 流随机访问 676<br /> 小结 680<br /> 术语表 680<br /> 第18章 用于大型程序的工具 683<br /> 18.1 异常处理 684<br /> 18.1.1 抛出异常 684<br /> 18.1.2 捕获异常 687<br /> 18.1.3 函数try语句块与构造函数 689<br /> 18.1.4 noexcept异常说明 690<br /> 18.1.5 异常类层次 693<br /> 18.2 命名空间 695<br /> 18.2.1 命名空间定义 695<br /> 18.2.2 使用命名空间成员 701<br /> 18.2.3 类、命名空间与作用域 705<br /> 18.2.4 重载与命名空间 708<br /> 18.3 多重继承与虚继承 710<br /> 18.3.1 多重继承 711<br /> 18.3.2 类型转换与多个基类 713<br /> 18.3.3 多重继承下的类作用域 715<br /> 18.3.4 虚继承 717<br /> 18.3.5 构造函数与虚继承 720<br /> 小结 722<br /> 术语表 722<br /> 第19章 特殊工具与技术 725<br /> 19.1 控制内存分配 726<br /> 19.1.1 重载new和delete 726<br /> 19.1.2 定位new表达式 729<br /> 19.2 运行时类型识别 730<br /> 19.2.1 dynamic_cast运算符 730<br /> 19.2.2 typeid运算符 732<br /> 19.2.3 使用RTTI 733<br /> 19.2.4 type_info类 735<br /> 19.3 枚举类型 736<br /> 19.4 类成员指针 739<br /> 19.4.1 数据成员指针 740<br /> 19.4.2 成员函数指针 741<br /> 19.4.3 将成员函数用作可调用对象 744<br /> 19.5 嵌套类 746<br /> 19.6 union:一种节省空间的类 749<br /> 19.7 局部类 754<br /> 19.8 固有的不可移植的特性 755<br /> 19.8.1 位域 756<br /> 19.8.2 volatile限定符 757<br /> 19.8.3 链接指示:extern "C" 758<br /> 小结 762<br /> 术语表 762<br /> 附录A 标准库 765<br /> A.1 标准库名字和头文件 766<br /> A.2 算法概览 770<br /> A.2.1 查找对象的算法 771<br /> A.2.2 其他只读算法 772<br /> A.2.3 二分搜索算法 772<br /> A.2.4 写容器元素的算法 773<br /> A.2.5 划分与排序算法 775<br /> A.2.6 通用重排操作 776<br /> A.2.7 排列算法 778<br /> A.2.8 有序序列的集合算法 778<br /> A.2.9 最小值和优选值 779<br /> A.2.10 数值算法 780<br /> A.3 随机数 781<br /> A.3.1 随机数分布 781<br /> A.3.2 随机数引擎 783<br /> 索引 785<br /> <br /> <br /> C++11的新特性<br /> &not;&not;<br /> <br /> 2.1.1 long long类型 31<br /> 2.2.1 列表初始化 39<br /> 2.3.2 nullptr常量 48<br /> 2.4.4 constexpr变量 59<br /> 2.5.1 类型别名声明 60<br /> 2.5.2 auto类型指示符 61<br /> 2.5.3 decltype类型指示符 62<br /> 2.6.1 类内初始化 65<br /> 3.2.2 使用auto或decltype缩写类型 79<br /> 3.2.3 范围for语句 82<br /> 3.3 定义vector对象的vector(向量的向量) 87<br /> 3.3.1 vector对象的列表初始化 88<br /> 3.4.1 容器的cbegin和cend函数 98<br /> 3.5.3 标准库begin和end函数 106<br /> 3.6 使用auto和decltype简化声明 115<br /> 4.2 除法的舍入规则 125<br /> 4.4 用大括号包围的值列表赋值 129<br /> 4.9 将sizeof用于类成员 139<br /> 5.4.3 范围for语句 168<br /> 6.2.6 标准库initializer_list类 197<br /> 6.3.2 列表初始化返回值 203<br /> 6.3.3 定义尾置返回类型 206<br /> 6.3.3 使用decltype简化返回类型定义 206<br /> 6.5.2 constexpr函数 214<br /> 7.1.4 使用=default生成默认构造函数 237<br /> 7.3.1 类对象成员的类内初始化 246<br /> 7.5.2 委托构造函数 261<br /> 7.5.6 constexpr构造函数 268<br /> 8.2.1 用string对象处理文件名 284<br /> 9.1 array和forward_list容器 293<br /> 9.2.3 容器的cbegin和cend函数 298<br /> 9.2.4 容器的列表初始化 300<br /> 9.2.5 容器的非成员函数swap 303<br /> 9.3.1 容器insert成员的返回类型 308<br /> 9.3.1 容器的emplace成员 308<br /> 9.4 shrink_to_fit 318<br /> 9.5.5 string的数值转换函数 327<br /> 10.3.2 lambda表达式 346<br /> 10.3.3 lambda表达式中的尾置返回类型 353<br /> 10.3.4 标准库bind函数 354<br /> 11.2.1 关联容器的列表初始化 377<br /> 11.2.3 列表初始化pair的返回类型 380<br /> 11.3.2 pair的列表初始化 384<br /> 11.4 无序容器 394<br /> 12.1 智能指针 400<br /> 12.1.1 shared_ptr类 400<br /> 12.1.2 动态分配对象的列表初始化 407<br /> 12.1.2 auto和动态分配 408<br /> 12.1.5 unique_ptr类 417<br /> 12.1.6 weak_ptr类 420<br /> 12.2.1 范围for语句不能应用于动态分配数组 424<br /> 12.2.1 动态分配数组的列表初始化 424<br /> 12.2.1 auto不能用于分配数组 424<br /> 12.2.2 allocator::construct可使用任意构造函数 428<br /> 13.1.5 将=default用于拷贝控制成员 449<br /> 13.1.6 使用=default阻止拷贝类对象 449<br /> 13.5 用移动类对象代替拷贝类对象 469<br /> 13.6.1 右值引用 471<br /> 13.6.1 标准库move函数 472<br /> 13.6.2 移动构造函数和移动赋值 473<br /> 13.6.2 移动构造函数通常应该是noexcept 473<br /> 13.6.2 移动迭代器 480<br /> 13.6.3 引用限定成员函数 483<br /> 14.8.3 function类模板 512<br /> 14.9.1 explicit类型转换运算符 516<br /> 15.2.2 虚函数的override指示符 530<br /> 15.2.2 通过定义类为final来阻止继承 533<br /> 15.3 虚函数的override和final指示符 538<br /> 15.7.2 删除的拷贝控制和继承 553<br /> 15.7.4 继承的构造函数 557<br /> 16.1.2 声明模板类型形参为友元 590<br /> 16.1.2 模板类型别名 590<br /> 16.1.3 模板函数的默认模板参数 594<br /> 16.1.5 实例化的显式控制 597<br /> 16.2.3 模板函数与尾置返回类型 605<br /> 16.2.5 引用折叠规则 609<br /> 16.2.6 用static_cast将左值转换为右值 612<br /> 16.2.7 标准库forward函数 614<br /> 16.4 可变参数模板 618<br /> 16.4 sizeof...运算符 619<br /> 16.4.3 可变参数模板与转发 622<br /> 17.1 标准库tuple类模板 636<br /> 17.2.2 新的bitset运算 643<br /> 17.3 正则表达式库 645<br /> 17.4 随机数库 659<br /> 17.5.1 浮点数格式控制 670<br /> 18.1.4 noexcept异常指示符 690<br /> 18.1.4 noexcept运算符 691<br /> 18.2.1 内联命名空间 699<br /> 18.3.1 继承的构造函数与多重继承 712<br /> 19.3 有作用域的enum 736<br /> 19.3 说明类型用于保存enum对象 738<br /> 19.3 enum的前置声明 738<br /> 19.4.3 标准库mem_fn类模板 746<br /> 19.6 类类型的union成员 751 </div> </div> <!-- 目录 end --> <!-- 内容简介 --> <div class="detailpage-intro" style="width: 790px;height:100%;margin:0 auto; font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <img style="padding:30px 0 0 0;width: 790px;height:90px" src="https://img1.360buyimg.com/imgzone/jfs/t1/113910/28/8817/16836/5ed49f5fEa18db827/86574627922cf9a7.jpg.avif" alt="内容简介"/> <div style="text-indent: 2em;text-align: left;line-height: 44.17px;"> 这本久负盛名的C++经典教程,时隔八年之久,终于迎来少有的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的――C++大师Stanley B. Lippman的丰富实践经验,C++标准委员会原负责人Josée Lajoie对C++标准的深入理解,以及C++先驱Barbara E. Moo在C++教学方面的真知灼见外,更是基于全新的C++11标准进行了全面而的内容更新。非常难能可贵的是,书中所有示例均全部采用C++11标准改写,这在经典升级版中极其罕见――充分体现了C++语言的重大进展及其全面实践。书中丰富的教学辅助内容、醒目的知识点提示,以及精心组织的编程示范,让这本书在C++领域的权威地位更加不可动摇。<br /> 无论是初学者入门,或是中高级程序员提升使用,本书均为不容置疑的优选。 </div> </div> <!-- 内容简介 end --> <!-- 作者简介 --> <div class="detailpage-author" style="width: 790px;height:100%;margin:0 auto;font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <img style="padding:30px 0 0 0;width: 790px;height:90px" src="https://img10.360buyimg.com/imgzone/jfs/t5851/273/4275460549/30776/18add6/594a992cN8e4428fb.jpg.avif" alt="作者简介"/> <div style="line-height: 44.17px;font-size:40px;padding:0px;margin: 0px;"> (美)李普曼,(美)拉乔伊,(美)默 著 王刚,杨巨峰 译 </div> <div style="margin: 30px 0 20px 0;"> <div style="padding:40px 30px;"> <div style="text-indent: 2em;text-align: left;line-height: 44.17px;"> Stanley B. Lippman目前是微软公司 Visual C++团队的架构师。他从1984年开始在贝尔实验室与C++的设计者BjarneStroustrup一起从事C++的设计与开发。他在迪士尼和梦工厂从事动画制作,还担任过JPL的高级顾问。<br /> Josée Lajoie曾经是IBM加拿大研究中心C/C++编译器开发团队的成员,在ISOC++标准委员会工作了7年,担任过ISO核心语言工作组的主席和C++ Report杂志的专栏作家。<br /> Barbara E.Moo是拥有25年软件经验等 </div> </div> </div> </div> <!-- 作者简介 end --> <!-- 精彩内容 --> <div class="detailpage-intro" style="width: 790px;height:100%;margin:0 auto; font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <img style="padding:30px 0 0 0;width: 790px;height:90px" src="https://img10.360buyimg.com/imgzone/jfs/t6550/173/1133243496/33534/e610be61/594a9362Nfe52b34d.png.avif" alt="精彩内容"/> <div style="text-indent: 2em;text-align: left;line-height: 44.17px;"> 7.4.1 名字查找与类的作用域 <br/><br/> 在目前为止,我们编写的程序中,名字查找( name lookup)(寻找与所用名字最匹配的声明的过程)的过程比较直截了当: 首先,在名字所在的块中寻找其声明语句,只考虑在名字的使用之前出现的声明。 <br/><br/> 如果没找到,继续查找外层作用域。 <br/><br/> 如果最终没有找到匹配的声明,则程序报错。 <br/><br/> 对于定义在类内部的成员函等 </div> </div> <!-- 精彩内容 end --> <!-- 摘要 --> <div class="detailpage-intro" style="width: 790px;height:100%;margin:0 auto; font-family:'微软雅黑';color:#000;font-size: 29.5px;" align="center"> <img style="padding:30px 0 0 0;width: 790px;height:90px" src="https://img10.360buyimg.com/imgzone/jfs/t6160/347/1137310111/27432/b767fffd/594a9369Naf601581.jpg.avif" alt="摘要"/> <div style="text-indent: 2em;text-align: left;line-height: 44.17px;"> 推荐序 <br/><br/> C++11标准公布之后,C++社群出现了久违的热情,有人甚至叫出“C++的复兴”。指望C++回到20世纪90年代中期那样的地位显然是昧于大势的奢望,但是C++经历了这么多年的打磨与起伏,其在工业界的地位已经非常稳固,在很多领域里已经是不可取代也没必要被取代的统治者。新标准的出现能够大大提升C++开发的效率和质量,因此赢得欢呼也是情理之中。在这种氛围之下,编译器实现的速度也令人惊喜。短短两年时间,从开源的GCC、LLVM到专有的 Visual C++和Intel C++,对于新标准的追踪之快,覆盖之全,与当年C++ 98标准颁布之后迟迟不能落地的窘境相比,可谓对比强烈。当年是热情的开发者反复敦促厂商实现完整标准而不得,为此沮丧无奈,那种心情,至今记忆犹新。时过境迁,今天是编译器实现远远冲在前面,开发者倒是大大地落在了后等 </div> </div> <!-- 摘要 end --> </div> <!-- 店铺说明 --> <!-- 店铺说明 end --> </div>