当前位置:首页 > 百科

《C++Primer中文版(第5版)》作者C++大师StanleyB.Lippman中国行

提起来自C++图书,很多人360百科第一时间便会想到《C生浓阶斯海则史这++ Prime附机选r》--这本引领刑和几代中国程序员从初入门楣到登堂入室的权谈可威经典。之所以被视为神作,是因为她曾被翻译成数十间杨头探跳龙种语言,在全球范围创下一千三百万册的销售神话,更因为她拥有C++ 大师Stanley B. Lippman、C++ 标准委员会负责人Josée Lajoie以及C++ 先驱Barbara E. Moo问推配乱轴操这样堪称梦幻的豪华作者团队。

时隔8年以后,随着新标准引发的C++复兴狂潮,唯一支持C++11的第五版《C++ Primer》正式登陆中国。作为这一鸿篇巨著的出版方,电子工业出版社投入巨大精力,力邀南开大学资深C++老师王刚与杨巨峰潜心翻译近一年,并由C++领域权威潘爱民、孟岩作序,代表技商省富晶术圈鼎力推荐,更组织一线C++工程师腾讯叶劲峰,微软刘未鹏、陈梓瀚,阿里李云、侯凤林提供高水准技术审校。

  • 书名 《C++ Primer中文版(第5版)》作者C++大师Stanley B. Lippman中国行
  • 作者 C++
  • 开本 16 开
  • 装帧 平装

书本活动

来自  值此《C++ Primer中文版(第五版)》面世之际,我们为广大读者带来更大惊喜--邀请本书第一作者St360百科anley B. Lippman来京,与广大中国读者欢聚畅聊。

  Stanley B凯送扩进划. Lippman中国行活动场次(暂):

  201眼反钢愿星质座破3年10月24日长沙·中国计算机大会专场演讲

  2013年10月27日北京·中关村图书大厦读者见面会

  20烈印效因车为套轮段角往13年10月27日北京·对话《C++ Primer》大师专场活动

  2013年10月28日北京·北京航空航天大学专场演讲

  2013年10月29日北京·北京大学专场演讲

  相信,对技术满怀热情的你,对未来充满期待的你,印民那程创一定不会错过任何一个机会!

  《C++ Primer中文版(第5版)》作者C++大师Lippman中国行完美落幕

  最任重攻号朝往客在刚刚过去的金秋十月,藉由《C++ Primer中文版(第5版)》新书上市热销之际,电子工业出版社有幸邀请到了这本传世巨作的第一作者Stanley B. Lippman来中国,与广大中国学子共聚一堂,指点学业迷津;与众多技术人员畅谈编程语言发展的前世今生,同时更是勉励大家:要为未来的软件业做出自友计己的贡献。

  此次Lippman大师中国行的首站是在长沙举行的全商陆院后费合川威国计算领域规模最大、规格最高的学术、技术大会"中国计算机大会",他在会上进行了优节派情采题为《Yet Another Paradigm Shift: Hugo》的专题演讲。随后,Lippman大师在会场电子工业出版社展扩老胡等教该季初委台进行了《C++ Primer中文版(第5版)》一书队强的签售活动,并与众多慕名前来的高校教师、优秀学子首治少着做了深入的交流和航具房沟通。

  会后,有一位与Lippman进行了交流的学子写下了这样一段文字寄给我们:

  "Lippmann先生的演讲给我最大的收获还是他对于我们这些年轻人的鼓励之语:

  It is not about becoming famous. It's not ab万祖答再助袁注沉盐out ourselves, but about a community of minds, if you will. It's not about free software versus proprietary software. It's about improving the quality of human li固商则选万息电伤破烟诗fe.

  Anyway, it's not abou星数感亚超爱就笑因马t me. It's about you, and the future. My futu挥异径收难孩攻题修布掌re is past. I look forward to seeing what some of you are able to come up with. Anyway, that is my challenge to you.

  每次读这两句话都会热血沸腾,浑身充满力量。昨天在给实验室做会议报告时还引用了这两句话,大家也都反响热烈。"

  从长沙回京,更多更且前讨度协向负黑刚事所丰富的交流活动拉开了序幕。从中关村图书大厦到车库咖啡,Lippman大师为大家带来了精彩异常的讲座,并与英特尔中国研究院首席工程师吴甘沙、思爱普(北京)软件系统有限公司上海分公司高级软件工程师范德成、微软亚洲研究院研发工程师刘未鹏、EMC首席工程师高博、微软亚洲研究院研发工程师陈梓涵等技术领军人物进行了深入交流与高端对话。虽然场地有限,但很多参会者坚持站着参加完了整场活动。

  在这两场讲座中,Lippman大师分享了编程范型的演变过程及对新编程范式的思考。他表示新的编程范型往往应运而生,而编程范型之间的变迁,也不是一蹴而就的,正如人们接受面向对象编程范型,就经历了艰辛、复杂的斗争过程。

  Hugo是Lippman提出的新范式--将自我和理性相结合,彼此之间没有轻重之分,只是分工不同。正如一款成功产品的发布,需要多种人员的的协力配合,缺一不可的,更无孰轻孰重之分。

  演讲结尾,Lippman再次强调,在模型没有发生改变的情况,我们不应该喜新(语言)厌旧(语言)。同时指出C++的理念永远不会过时。

  思爱普(北京)软件系统有限公司上海分公司高级软件工程师范德成 Lippman先生对与Lippman大师的交流感触颇深,他这样写到:

  "很少在技术类的讲座或访谈中感受到一种悲天悯人的心境。而年逾花甲的C++大师Stanley B. Lippman则给我们带来了很多精神上的关怀。

  Lippman先生在C++方面作出的卓著贡献是不可磨灭的。在传奇的贝尔实验室里,Lippman从BjarneStroustrup那里接手了早期的C++编译器,并开发了其后续的几个版本。从职业经历来讲,Lippman先生无疑是技术方面的大师。但远不止是这样。

  Lippman先生对于整个软件行业生态环境的复杂性谈了他对于长远的看法。随着时代的推移,我们的编程环境与当年已经有了非常大的不同。Lippman先生指出,现在做一个程序,需要考虑你所使用的操作系统、编程语言以及该平台上可用的类库。这早已不再是简单的"写一遍程序,到处运行"(Java语言的目标之一)的概念了。这对于我们程序员来说是一种很大的困扰。

  由于商业竞争的结果,出现了割裂的开发平台。在平台割据这个角度,Lippman通过这几年对动物神经的研究,希望得到一个持续发展的模型,来解决这种割据的情况。这就是他讲到的HUGO。有了HUGO模型之后,程序员的个人意志可以被导向实际功能的开发,而不再是成为平台的主宰者。这样一来,大家的投入就不会再白费,大家互相之间的关系也会从竞争转变为协作。

  Lippman语重心长地对我们说:我这把年纪了,如果业界失去我这样一个人也没啥关系了,但你们正年轻,你们应当对软件业作出自己的贡献!这句话让我们深刻地感到,我们作为软件业的参与者,任重而道远,必须尽自己的努力来做出成绩,让世界运行得更美好!"

  随后,Lippman大师走进校园,分别在北京航空航天大学和北京大学与高校学子、优秀教师沟通座谈。C++作为公认的入门第一语言,在高校教育里长期雄踞霸主地位。与此相符,《C++ Primer》这本旷世名著,在大学校园内拥有深厚的群众基础,可谓"为人不识Lippman,纵是英雄也枉然"。因此,Lippman大师这次轻车简行,来到两座中国顶级高等学府,与师生共聚一堂,畅谈C++前世今生,闲话程序人生,可以视为一种回归与聚首--一部伴随一届届学子进出校门、走向程序员岗位的佳作,带着最新的第5版回归校园;用作品惠及万千师生的原著作者,千里迢迢与他的读者聚首。这样的场面,整个过程,相信会让亲身参与其中的天之骄子们,铭记一生,受益一生。

  北京航空航天大学的讲座,座无虚席。同学们积极与大师互动,解答各种学习、应用中的问题。

  北京大学的场景,更是别开生面--Lippman与来自北大、南开、北航C++教学界翘楚促膝交谈,就面向现代开发模式如何做好校园编程语言教学,进行了深刻而前瞻的探讨,让到场的各校师生获益良多,印象深刻。

  Lippman大师中国行已完美落幕。这位C++大师在活动尾声,特意亲笔为广大中国学者书写下了他的祝福和勉励,并对电子工业出版社留下了寄语。此次中国之旅,他带给我们的远不止他对技术的精彩讲解和独到剖析,他用丰富的人生阅历和深厚的岁月积淀来与大家对话,更是体现了他对年轻一代的人文关怀。

  借用EMC首席工程师高博在与大师近距离沟通后的感言来结尾:

  这是一次技术的点悟,更是一场灵魂的洗礼。大师面对面地讲述了很多智慧,让我们不断地学习,平等地待人,并优雅地老去。

书本简介

  C++ Primer中文版(第五版)》:

  顶级畅销书重磅升级

  全面采用最新 C++ 11标准!

  【美】Stanley B.Lippman

  Josee Lajoie 著

  Barbara E.Moo

  王刚 杨巨峰译

  ISBN 978-7-121-15535-2

  2013年9月出版

  定价:128.00元

  如果只读一本C++书籍,那么你一定不能错过它!最经典的著作,值得你收藏!

书本内容

  这本久负盛名的 C++经典教程,时隔八年之久,终迎来史无前例的重大升级。除令全球无数程序员从中受益,甚至为之迷醉的--C++ 大师 Stanley B. Lippman 的丰富实践经验,C++标准委员会原负责人Josée Lajo来自ie 对C++标准的深入理解,以及C++ 先驱 Barbara E. Moo 在 C++教学方面的真知灼见外,更是基于全新的 C++1艺重才序盐击投团尼1标准进行了全面而彻底的内容更新。

  非常难能可贵的是,《C++P360百科rimer 中文版(第5版)》所有示例均全部采用 C++11 标准改写,这在经典升级版中极其罕见--充分套正体现了 C++ 语言的重大进展及其全面实践。书中丰富的教学辅助内容、醒目的知识点提示,以及精心组织的编程示范,让这本书在 C++ 领域的权威地位更加不可动摇。无论是初学者入门,或是中、高级程序员提升,本班易达抗师地书均为不容置疑的首选。

StanleyB. Lippman介

  StanleyBernard Lippman,《C++ Primer》《Essent质载探片本盾伯ial C++》《深度探索C++对象模型》等名著作者。目前领导着一个新启动的ePub项目2KQubits。在此之前,Stan曾担任迪斯尼、梦工厂、皮克斯和PDI工作室的动画长片首席软件工程师,以及喷劳为检特朝读希作气推进实验室特别顾问,征沿球书乡抗切草负责火星探测器框架CLAR祖电女龙去热余粮Aty的研究。他还为大型多人在线游戏公司Perpetual Entertainment的游戏《众神与英雄》及Emergent Technologies的服务器技术提供技术支持。Stan担任过微软Vis笑了钢种黄时花杀ual C++项目组架构师,主要负责C++/.NET宣明给进套笔生的兼容性研发,以及新的编译器开发。

  Stan曾就职于贝尔实验室,其间SteveJohnson担任导师,后与Bjarne Stroustrup共同开发cfront--首个C++编译器。Stan独自完成cfront 1.1 ~ 1.3版本的开发,直至cfront 2.0开始才有其场范态道重钱触他开发人员加入。Stan担任cfront 2.0及3.0版本开发成员的负责人,负责首次完整的模板编译。

书本目录

  第1章 开始

  1.1 编写一个简单的刘诉权期更C++程序 2

  1.1.1 编译、运行程序 3

  1.2 初识输入输出 5

  1.3 注释简介 8

  1.4 控制流 10

  1.4.1 while语句 10

  1.4.2 for语句 11

  1.4.3 读取数量不定的输入数据 13

  1.4.4 if语句 15

  1.5 类简介 17

 整协回段构目续审烟觉 1.5.1 Sales_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.4 const限定符 53

  2.4.1 const的引用 54

  2.4.2 指针和const 56

  2.4.3 顶层const 57

  2.4.4 constexpr和常量表达式 58

  2.5 处理类型 60

  2.5.1 类型别名 60

  2.5.2 auto类型说明符 61

  2.5.3 decltype类型指示符 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.2 string对象上的操作 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.4 C风格字符串 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.9 sizeof运算符 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.1 if语句 156

  5.3.2 switch语句 159

  5.4 迭代语句 165

  5.4.1 while语句 165

  5.4.2 传统的for语句 166

  5.4.3 范围for语句 168

  5.4.4 do while语句 169

  5.5 跳转语句 170

  5.5.1 break语句 170

  5.5.2 continue语句 171

  5.5.3 goto语句 172

  5.6 TRY语句块和异常处理 172

  5.6.1 throw表达式 173

  5.6.2 try语句块 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.3 const形参和实参 190

  6.2.4 数组形参 193

  6.2.5 main:处理命令行选项 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.1 IO类 278

  8.1.1 IO对象无拷贝或赋值 279

  8.1.2 条件状态 279

  8.1.3 管理输出缓冲 281

  8.2 文件输入输出 283

  8.2.1 使用文件流对象 284

  8.2.2 文件模式 286

  8.3 string流 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.3 begin和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.4 vector对象是如何增长的 317

  9.5 额外的string操作 320

  9.5.1 构造string的其他方法 321

  9.5.2 改变string的其他方法 322

  9.5.3 string搜索操作 325

  9.5.4 compare函数 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.2 lambda表达式 345

  10.3.3 lambda捕获和返回 349

  10.3.4 参数绑定 354

  10.4 再探迭代器 357

  10.4.1 插入迭代器 358

  10.4.2 iostream迭代器 359

  10.4.3 反向迭代器 363

  10.5 泛型算法结构 365

  10.5.1 5类迭代器 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.3 pair类型 379

  11.3 关联容器操作 381

  11.3.1 关联容器迭代器 382

  11.3.2 添加元素 383

  11.3.3 删除元素 386

  11.3.4 map的下标操作 387

  11.3.5 访问元素 388

  11.3.6 一个单词转换的map 391

  11.4 无序容器 394

  小结 397

  术语表 397

  第12章 动态内存 399

  12.1 动态内存与智能指针 400

  12.1.1 shared_ptr类 400

  12.1.2 直接管理内存 407

  12.1.3 shared_ptr和new结合使用 412

  12.1.4 智能指针和异常 415

  12.1.5 unique_ptr 417

  12.1.6 weak_ptr 420

  12.2 动态数组 423

  12.2.1 new和数组 423

  12.2.2 allocator类 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.1 lambda是函数对象 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.1 OOP:概述 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.2 Query_base类和Query类 567

  15.9.3 派生类 568

  15.9.4 eval函数 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.1 tuple类型 636

  17.1.1 定义和初始化tuple 637

  17.1.2 使用tuple返回多个值 638

  17.2 BITSET类型 640

  17.2.1 定义和初始化bitset 641

  17.2.2 bitset操作 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.5 IO库再探 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.4 noexcept异常说明 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.1 dynamic_cast运算符 730

  19.2.2 typeid运算符 732

  19.2.3 使用RTTI 733

  19.2.4 type_info类 735

  19.3 枚举类型 736

  19.4 类成员指针 739

  19.4.1 数据成员指针 740

  19.4.2 成员函数指针 741

  19.4.3 将成员函数用作可调用对象 744

  19.5 嵌套类 746

  19.6 union:一种节省空间的类 749

  19.7 局部类 754

  19.8 固有的不可移植的特性 755

  19.8.1 位域 756

  19.8.2 volatile限定符 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.1 long long类型 31

  2.2.1 列表初始化 39

  2.3.2 nullptr常量 48

  2.4.4 constexpr变量 59

  2.5.1 类型别名声明 60

  2.5.2 auto类型指示符 61

  2.5.3 decltype类型指示符 62

  2.6.1 类内初始化 65

  3.2.2 使用auto或decltype缩写类型 79

  3.2.3 范围for语句 82

  3.3 定义vector对象的vector(向量的向量) 87

  3.3.1 vector对象的列表初始化 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.2 constexpr函数 214

  7.1.4 使用=default生成默认构造函数 237

  7.3.1 类对象成员的类内初始化 246

  7.5.2 委托构造函数 261

  7.5.6 constexpr构造函数 268

  8.2.1 用string对象处理文件名 284

  9.1 array和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.4 shrink_to_fit 318

  9.5.5 string的数值转换函数 327

  10.3.2 Lambda表达式 346

  10.3.3 Lambda表达式中的尾置返回类型 353

  10.3.4 标准库bind函数 354

  11.2.1 关联容器的列表初始化 377

  11.2.3 列表初始化pair的返回类型 380

  11.3.2 pair的列表初始化 384

  11.4 无序容器 394

  12.1 智能指针 400

  12.1.1 shared_ptr类

  12.1.2 动态分配对象的列表初始化 407

  12.1.2 auto和动态分配 408

  12.1.5 unique_ptr类 417

  12.1.6 weak_ptr类 420

  12.2.1 范围for语句不能应用于动态分配数组 424

  12.2.1 动态分配数组的列表初始化 424

  12.2.1 auto不能用于分配数组 424

  12.2.2 allocator::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.3 function类模板 512

  14.9.1 explicit类型转换运算符 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.4 sizeof...运算符 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.4 noexcept异常指示符 690

  18.1.4 noexcept运算符 691

  18.2.1 内联名字空间 699

  18.3.1 继承的构造函数和多重继承 712

  19.3 有作用域的enum 736

  19.3 说明类型用于保存enum对象 738

  19.3 enum的提前声明 738

  19.4.3 标准库mem_fn类模板 746

  19.6 类类型的联合成员 751

标签:

  • 关注微信
上一篇:麒麟脱胎

相关文章