0 0 0

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

囚人不合
5天前 140
我用夸克网盘分享了「C++ Primer 中文版(第 5 版) by [美] Stanley B. Lippman [美] Josée Lajoie [美] Barbara E. Moo.pdf」,点击链接即可保存。打开「夸克APP」在线查看,支持多种文档格式转换。
C++ Primer 中文版(第 5 版) 作者: [美] Stanley B. Lippman/[美] Josée Lajoie/[美] Barbara E. Moo 出版社: 电子工业出版社 出品方: 博文视点 原作名: C++ Primer, 5th Edition 译者: 王刚/杨巨峰 出版年: 2013-9-1 页数: 838 定价: 128.00元 装帧: 平装 ISBN: 9787121155352

内容简介

这本久负盛名的 C++ 经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的——C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人 Josée Lajoie 对C++标准的深入理解,以及C+ + 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++11标准进行了全面而彻底的内容更新。非常难能可贵的是,本书所有示例均全部采用 C++11 标准改写,这在经典升级版中极其罕见——充分体现了 C++ 语言的重大进展及其全面实践。书中丰富的教学辅助内容、醒目的知识点提示,以及精心组织的编程示范,让这本书在 C++ 领域的权威地位更加不可动摇。无论是初学者入门,或是中、高级程序员提升,本书均为不容置疑的首选。

作者简介

Stanley B. Lippman目前是微软公司Visual C++团队的架构师。他从1984年开始在贝尔实验室与C++的设计者Bjarne Stroustrup一起从事C++的设计与开发。他在迪士尼和梦工厂从事动画制作,还担任过JPL的高级顾问。 Josée Lajoie曾经是IBM加拿大研究中心C/C++编译器开发团队的成员,在ISO C++标准委员会工作了7年,担任过ISO核心语言工作组的主席和C++ Report杂志的专栏作家。 Barbara E. Moo是拥有25年软件经验的独立咨询顾问。在AT&T,她与Stroustrup、Lippman一起管理过复杂的C++开发项目。

网友热评

童伢: 卧槽这么厚……我把学校的教材翻了一遍再看都觉得有些吃不消啊,但是学校的教材是叫你用c++设计程序,而这本是用设计的实例来解释c++语言的特性,简单来说,把你变成一个c++编译器……感觉如果没有一定量的代码量,读起来还是有些困难…… 1984: 实在是太厚了,讲得事无巨细。/ 2022.11 已读完第二遍。目前觉得写的很详细,但不如bjarne那本经典。本书作用大概是把我自己引入c++繁华宫殿的大门 朱长: 为研究生打基础,还剩200多页就终于看完了,内容很多但代码几乎都是伪代码而且给的例题都是介绍当前学习内容的。知识点比plus多且全,只是例题和练习题方面不如plus 荣光啊荣光: language lawyer可能会喜欢吧

图书目录

第1章开始 1 1.1编写一个简单的C++程序 2 1.1.1编译、运行程序 3 1.2初识输入输出 5 1.3注释简介 8 1.4控制流 10 1.4.1while语句 10 1.4.2for语句 11 1.4.3读取数量不定的输入数据 13 1.4.4if语句 15 1.5类简介 17 1.5.1Sales_item类 17 1.5.2初识成员函数 20 1.6书店程序 21 小结 23 术语表 23 第Ⅰ部分C++基础 27 第2章变量和基本类型 29 2.1基本内置类型 30 2.1.1算术类型 30 2.1.2类型转换 32 2.1.3字面值常量 35 2.2变量 38 2.2.1变量定义 38 2.2.2变量声明和定义的关系 41 2.2.3标识符 42 2.2.4名字的作用域 43 2.3复合类型 45 2.3.1引用 45 2.3.2指针 47 2.3.3理解复合类型的声明 51 2.4const限定符 53 2.4.1const的引用 54 2.4.2指针和const 56 2.4.3顶层const 57 2.4.4constexpr和常量表达式 58 2.5处理类型 60 2.5.1类型别名 60 2.5.2auto类型说明符 61 2.5.3decltype类型指示符 62 2.6自定义数据结构 64 2.6.1定义Sales_data类型 64 2.6.2使用Sales_data类 66 2.6.3编写自己的头文件 67 小结 69 术语表 69 第3章字符串、向量和数组 73 3.1命名空间的using声明 74 3.2标准库类型string 75 3.2.1定义和初始化string对象 76 3.2.2string对象上的操作 77 3.2.3处理string对象中的字符 81 3.3标准库类型vector 86 3.3.1定义和初始化vector对象 87 3.3.2向vector对象中添加元素 90 3.3.3其他vector操作 91 3.4迭代器介绍 95 3.4.1使用迭代器 95 3.4.2迭代器运算 99 3.5数组 101 3.5.1定义和初始化内置数组 101 3.5.2访问数组元素 103 3.5.3指针和数组 105 3.5.4C风格字符串 109 3.5.5与旧代码的接口 111 3.6多维数组 112 小结 117 术语表 117 第4章表达式 119 4.1基础 120 4.1.1基本概念 120 4.1.2优先级与结合律 121 4.1.3求值顺序 123 4.2算术运算符 124 4.3逻辑和关系运算符 126 4.4赋值运算符 129 4.5递增和递减运算符 131 4.6成员访问运算符 133 4.7条件运算符 134 4.8位运算符 135 4.9sizeof运算符 139 4.10逗号运算符 140 4.11类型转换 141 4.11.1算术转换 142 4.11.2其他隐式类型转换 143 4.11.3显式转换 144 4.12运算符优先级表 147 小结 149 术语表 149 第5章语句 153 5.1简单语句 154 5.2语句作用域 155 5.3条件语句 156 5.3.1if语句 156 5.3.2switch语句 159 5.4迭代语句 165 5.4.1while语句 165 5.4.2传统的for语句 166 5.4.3范围for语句 168 5.4.4dowhile语句 169 5.5跳转语句 170 5.5.1break语句 170 5.5.2continue语句 171 5.5.3goto语句 172 5.6TRY语句块和异常处理 172 5.6.1throw表达式 173 5.6.2try语句块 174 5.6.3标准异常 176 小结 178 术语表 178 第6章函数 181 6.1函数基础 182 6.1.1局部对象 184 6.1.2函数声明 186 6.1.3分离式编译 186 6.2参数传递 187 6.2.1传值参数 187 6.2.2传引用参数 188 6.2.3const形参和实参 190 6.2.4数组形参 193 6.2.5main:处理命令行选项 196 6.2.6含有可变形参的函数 197 6.3返回类型和return语句 199 6.3.1无返回值函数 200 6.3.2有返回值函数 200 6.3.3返回数组指针 205 6.4函数重载 206 6.4.1重载与作用域 210 6.5特殊用途语言特性 211 6.5.1默认实参 211 6.5.2内联函数和constexpr函数 213 6.5.3调试帮助 215 6.6函数匹配 217 6.6.1实参类型转换 219 6.7函数指针 221 小结 225 术语表 225 第7章类 227 7.1定义抽象数据类型 228 7.1.1设计Sales_data类 228 7.1.2定义改进的Sales_data类 230 7.1.3定义类相关的非成员函数 234 7.1.4构造函数 235 7.1.5拷贝、赋值和析构 239 7.2访问控制与封装 240 7.2.1友元 241 7.3类的其他特性 243 7.3.1类成员再探 243 7.3.2返回*this的成员函数 246 7.3.3类类型 249 7.3.4友元再探 250 7.4类的作用域 253 7.4.1名字查找与类的作用域 254 7.5构造函数再探 257 7.5.1构造函数初始值列表 258 7.5.2委托构造函数 261 7.5.3默认构造函数的作用 262 7.5.4隐式的类类型转换 263 7.5.5聚合类 266 7.5.6字面值常量类 267 7.6类的静态成员 268 小结 273 术语表 273 第Ⅱ部C++标准库 275 第8章IO库 277 8.1IO类 278 8.1.1IO对象无拷贝或赋值 279 8.1.2条件状态 279 8.1.3管理输出缓冲 281 8.2文件输入输出 283 8.2.1使用文件流对象 284 8.2.2文件模式 286 8.3string流 287 8.3.1使用istringstream 287 8.3.2使用ostringstream 289 小结 290 术语表 290 第9章顺序容器 291 9.1顺序容器概述 292 9.2容器库概览 294 9.2.1迭代器 296 9.2.2容器类型成员 297 9.2.3begin和end成员 298 9.2.4容器定义和初始化 299 9.2.5赋值和swap 302 9.2.6容器大小操作 304 9.2.7关系运算符 304 9.3顺序容器操作 305 9.3.1向顺序容器添加元素 305 9.3.2访问元素 309 9.3.3删除元素 311 9.3.4特殊的forward_list操作 312 9.3.5改变容器大小 314 9.3.6容器操作可能使迭代器失效 315 9.4vector对象是如何增长的 317 9.5额外的string操作 320 9.5.1构造string的其他方法 321 9.5.2改变string的其他方法 322 9.5.3string搜索操作 325 9.5.4compare函数 327 9.5.5数值转换 327 9.6容器适配器 329 小结 332 术语表 332 第10章泛型算法 335 10.1概述 336 10.2初识泛型算法 338 10.2.1只读算法 338 10.2.2写容器元素的算法 339 10.2.3重排容器元素的算法 342 10.3定制操作 344 10.3.1向算法传递函数 344 10.3.2lambda表达式 345 10.3.3lambda捕获和返回 349 10.3.4参数绑定 354 10.4再探迭代器 357 10.4.1插入迭代器 358 10.4.2iostream迭代器 359 10.4.3反向迭代器 363 10.5泛型算法结构 365 10.5.15类迭代器 365 10.5.2算法形参模式 367 10.5.3算法命名规范 368 10.6特定容器算法 369 小结 371 术语表 371 第11章关联容器 373 11.1使用关联容器 374 11.2关联容器概述 376 11.2.1定义关联容器 376 11.2.2关键字类型的要求 378 11.2.3pair类型 379 11.3关联容器操作 381 11.3.1关联容器迭代器 382 11.3.2添加元素 383 11.3.3删除元素 386 11.3.4map的下标操作 387 11.3.5访问元素 388 11.3.6一个单词转换的map 391 11.4无序容器 394 小结 397 术语表 397 第12章动态内存 399 12.1动态内存与智能指针 400 12.1.1shared_ptr类 400 12.1.2直接管理内存 407 12.1.3shared_ptr和new结合使用 412 12.1.4智能指针和异常 415 12.1.5unique_ptr 417 12.1.6weak_ptr 420 12.2动态数组 423 12.2.1new和数组 423 12.2.2allocator类 427 12.3使用标准库:文本查询程序 430 12.3.1文本查询程序设计 430 12.3.2文本查询程序类的定义 432 小结 436 术语表 436 第Ⅲ部分类设计者的工具 437 第13章拷贝控制 439 13.1拷贝、赋值与销毁 440 13.1.1拷贝构造函数 440 13.1.2拷贝赋值运算符 443 13.1.3析构函数 444 13.1.4三/五法则 447 13.1.5使用=default 449 13.1.6阻止拷贝 449 13.2拷贝控制和资源管理 452 13.2.1行为像值的类 453 13.2.2定义行为像指针的类 455 13.3交换操作 457 13.4拷贝控制示例 460 13.5动态内存管理类 464 13.6对象移动 470 13.6.1右值引用 471 13.6.2移动构造函数和移动赋值运算符 473 13.6.3右值引用和成员函数 481 小结 486 术语表 486 第14章操作重载与类型转换 489 14.1基本概念 490 14.2输入和输出运算符 494 14.2.1重载输出运算符<< 494 14.2.2重载输入运算符>> 495 14.3算术和关系运算符 497 14.3.1相等运算符 497 14.3.2关系运算符 498 14.4赋值运算符 499 14.5下标运算符 501 14.6递增和递减运算符 502 14.7成员访问运算符 504 14.8函数调用运算符 506 14.8.1lambda是函数对象 507 14.8.2标准库定义的函数对象 509 14.8.3可调用对象与function 511 14.9重载、类型转换与运算符 514 14.9.1类型转换运算符 514 14.9.2避免有二义性的类型转换 517 14.9.3函数匹配与重载运算符 521 小结 523 术语表 523 第15章面向对象程序设计 525 15.1OOP:概述 526 15.2定义基类和派生类 527 15.2.1定义基类 528 15.2.2定义派生类 529 15.2.3类型转换与继承 534 15.3虚函数 536 15.4抽象基类 540 15.5访问控制与继承 542 15.6继承中的类作用域 547 15.7构造函数与拷贝控制 551 15.7.1虚析构函数 552 15.7.2合成拷贝控制与继承 552 15.7.3派生类的拷贝控制成员 554 15.7.4继承的构造函数 557 15.8容器与继承 558 15.8.1编写Basket类 559 15.9文本查询程序再探 562 15.9.1面向对象的解决方案 563 15.9.2Query_base类和Query类 567 15.9.3派生类 568 15.9.4eval函数 571 小结 575 术语表 575 第16章模板与泛型编程 577 16.1定义模板 578 16.1.1函数模板 578 16.1.2类模板 583 16.1.3模板参数 592 16.1.4成员模板 595 16.1.5控制实例化 597 16.1.6效率与灵活性 599 16.2模板实参推断 600 16.2.1类型转换与模板类型参数 601 16.2.2函数模板显式实参 603 16.2.3尾置返回类型与类型转换 604 16.2.4函数指针和实参推断 607 16.2.5模板实参推断和引用 608 16.2.6理解std::move 610 16.2.7转发 612 16.3重载与模板 614 16.4可变参数模板 618 16.4.1编写可变参数函数模板 620 16.4.2包扩展 621 16.4.3转发参数包 622 16.5模板特例化 624 小结 630 术语表 630 第Ⅳ部分高级主题 633 第17章标准库特殊设施 635 17.1tuple类型 636 17.1.1定义和初始化tuple 637 17.1.2使用tuple返回多个值 638 17.2BITSET类型 640 17.2.1定义和初始化bitset 641 17.2.2bitset操作 643 17.3正则表达式 645 17.3.1使用正则表达式库 646 17.3.2匹配与Regex迭代器类型 650 17.3.3使用子表达式 653 17.3.4使用regex_replace 657 17.4随机数 659 17.4.2其他随机数分布 663 bernoulli_distribution类 665 17.5IO库再探 666 17.5.1格式化输入与输出 666 17.5.2未格式化的输入/输出操作 673 17.5.3流随机访问 676 小结 680 术语表 680 第18章用于大型程序的工具 683 18.1异常处理 684 18.1.1抛出异常 684 18.1.2捕获异常 687 18.1.3函数try语句块与构造函数 689 18.1.4noexcept异常说明 690 18.1.5异常类层次 693 18.2命名空间 695 18.2.1命名空间定义 695 18.2.2使用命名空间成员 701 18.2.3类、命名空间与作用域 705 18.2.4重载与命名空间 708 18.3多重继承与虚继承 710 18.3.1多重继承 711 18.3.2类型转换与多个基类 713 18.3.3多重继承下的类作用域 715 18.3.4虚继承 717 18.3.5构造函数与虚继承 720 小结 722 术语表 722 第19章特殊工具与技术 725 19.1控制内存分配 726 19.1.1重载new和delete 726 19.1.2定位new表达式 729 19.2运行时类型识别 730 19.2.1dynamic_cast运算符 730 19.2.2typeid运算符 732 19.2.3使用RTTI 733 19.2.4type_info类 735 19.3枚举类型 736 19.4类成员指针 739 19.4.1数据成员指针 740 19.4.2成员函数指针 741 19.4.3将成员函数用作可调用对象 744 19.5嵌套类 746 19.6union:一种节省空间的类 749 19.7局部类 754 19.8固有的不可移植的特性 755 19.8.1位域 756 19.8.2volatile限定符 757 19.8.3链接指示:extern"C" 758 小结 762 术语表 762 附录A标准库 765 A.1标准库名字和头文件 766 A.2算法概览 770 A.2.1查找对象的算法 771 A.2.2其他只读算法 772 A.2.3二分搜索算法 772 A.2.4写容器元素的算法 773 A.2.5划分与排序算法 775 A.2.6通用重排操作 776 A.2.7排列算法 778 A.2.8有序序列的集合算法 778 A.2.9最小值和最大值 779 A.2.10数值算法 780 A.3随机数 781 A.3.1随机数分布 781 A.3.2随机数引擎 783 C++11的新特性 2.1.1longlong类型 31 2.2.1列表初始化 39 2.3.2nullptr常量 48 2.4.4constexpr变量 59 2.5.1类型别名声明 60 2.5.2auto类型指示符 61 2.5.3decltype类型指示符 62 2.6.1类内初始化 65 3.2.2使用auto或decltype缩写类型 79 3.2.3范围for语句 82 3.3定义vector对象的vector(向量的向量) 87 3.3.1vector对象的列表初始化 88 3.4.1容器的cbegin和cend函数 98 3.5.3标准库begin和end函数 106 3.6使用auto和decltype简化声明 115 4.2除法的舍入规则 125 4.4用大括号包围的值列表赋值 129 4.9将sizeof用于类成员 139 5.4.3范围for语句 168 6.2.6标准库initializer_list类 197 6.3.2列表初始化返回值 203 6.3.3定义尾置返回类型 206 6.3.3使用decltype简化返回类型定义 6.5.2constexpr函数 214 7.1.4使用=default生成默认构造函数 237 7.3.1类对象成员的类内初始化 246 7.5.2委托构造函数 261 7.5.6constexpr构造函数 268 8.2.1用string对象处理文件名 284 9.1array和forward_list容器 293 9.2.3容器的cbegin和cend函数 298 9.2.4容器的列表初始化 300 9.2.5容器的非成员函数swap 303 9.3.1容器insert成员的返回类型 308 9.3.1容器的emplace成员的返回类型 308 9.4shrink_to_fit 318 9.5.5string的数值转换函数 327 10.3.2Lambda表达式 346 10.3.3Lambda表达式中的尾置返回类型 353 10.3.4标准库bind函数 354 11.2.1关联容器的列表初始化 377 11.2.3列表初始化pair的返回类型 380 11.3.2pair的列表初始化 384 11.4无序容器 394 12.1智能指针 400 12.1.1shared_ptr类 12.1.2动态分配对象的列表初始化 407 12.1.2auto和动态分配 408 12.1.5unique_ptr类 417 12.1.6weak_ptr类 420 12.2.1范围for语句不能应用于动态分配数组 424 12.2.1动态分配数组的列表初始化 424 12.2.1auto不能用于分配数组 424 12.2.2allocator::construct可使用任意构造函数 428 13.1.5将=default用于拷贝控制成员 449 13.1.6使用=default阻止拷贝类对象 449 13.5用移动类对象代替拷贝类对象 469 13.6.1右值引用 471 13.6.1标准库move函数 472 13.6.2移动构造函数和移动赋值 473 13.6.2移动构造函数通常应该是noexcept 473 13.6.2移动迭代器 480 13.6.3引用限定成员函数 483 14.8.3function类模板 512 14.9.1explicit类型转换运算符 516 15.2.2虚函数的override指示符 530 15.2.2通过定义类为final来阻止继承 533 15.3虚函数的override和final指示符 538 15.7.2删除的拷贝控制和继承 553 15.7.4继承的构造函数 557 16.1.2声明模板类型形参为友元 590 16.1.2模板类型别名 590 16.1.3模板函数的默认模板参数 594 16.1.5实例化的显式控制 597 16.2.3模板函数与尾置返回类型 605 16.2.5引用折叠规则 609 16.2.6用static_cast将左值转换为右值 612 16.2.7标准库forward函数 614 16.4可变参数模板 618 16.4sizeof...运算符 619 16.4.3可变参数模板与转发 622 17.1标准库Tuple类模板 636 17.2.2新的bitset运算 643 17.3正则表达式库 645 17.4随机数库 659 17.5.1浮点数格式控制 670 18.1.4noexcept异常指示符 690 18.1.4noexcept运算符 691 18.2.1内联名字空间 699 18.3.1继承的构造函数和多重继承 712 19.3有作用域的enum 736 19.3说明类型用于保存enum对象 738 19.3enum的提前声明 738 19.4.3标准库mem_fn类模板 746 19.6类类型的联合成员 751

C++

版权说明

1、本站不保存、不存储任何实质资源,以上二维码指向为网盘资源链接,其内容归对应版权方所有
2、如有侵犯版权的情况,请点击下面举报/反馈按钮反馈或发送邮件[email protected]投诉说明情况
3、我们核实后将第一时间删除相关页面内容,谢谢理解和配合

这些人下载过 (12)
  • 雨落心湖
  • 轻浮心
  • 枕头说它不想醒
  • 尽往事一杯酒
  • 就我一人
  • 与梦伴
  • 春离夏沫
  • 初恋迈进老树
  • 山河岁月空惆怅
  • 南山不羁
  • 保护不起的女人
  • 搖頭丸
最新回复 (0)

    暂无评论

请先登录后发表评论!

返回
请先登录后发表评论!