• Effective Modern C++(中文版)
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Effective Modern C++(中文版)

29.1 2.9折 99 九品

仅1件

北京海淀
认证卖家担保交易快速发货售后保障

作者[美]斯科特·迈耶(Scott Meyers) 著;高博 译

出版社中国电力出版社

出版时间2018-04

版次1

装帧平装

货号A2

上书时间2024-11-19

新起点书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 [美]斯科特·迈耶(Scott Meyers) 著;高博 译
  • 出版社 中国电力出版社
  • 出版时间 2018-04
  • 版次 1
  • ISBN 9787519817749
  • 定价 99.00元
  • 装帧 平装
  • 开本 16
  • 纸张 胶版纸
  • 页数 281页
  • 字数 367千字
【内容简介】

涵盖以下主题:

 

大括号初始化、noexcept规格、完美转发,以及智能指针的make函数的优缺点。

 

std::move、std::forward、右值引用和万能引用之间的联系。

 

 编写整洁、正确,以及高效的lambda表达式的方法。

 

std::atomic和volatile有怎样的区别,它们分别用于什么场合,以及它们和C++的并发API有何联系。

 

“旧”C++程序设计(即C++98)中的实战要求在现代C++的软件开发中作出哪些修订。

 


【作者简介】


 

20多年来,Scott Meyers的Effective C++丛书(包括《Effective C++》、《More Effecitve C++》和《Effective STL》)已经为C++程序设计指南的业界设立标杆。他清晰明了引人入胜的、对复杂技术材料进行条分缕析的阐释为他赢得了世界范围内的称誉,也使他成为一名广受欢迎的培训师、咨询顾问和会议讲师。他拥有布朗大学计算机科学专业的博士学位。

 


【目录】

目录

 

出版商声明 1

 

致谢 3

 

绪论 7

 

第1章 型别推导 15

 

条款1:理解模板型别推导 15

 

条款2:理解auto型别推导 23

 

条款3:理解decltype 28

 

条款4:掌握查看型别推导结果的方法 35

 

第2章 auto 41

 

条款5:优先选用auto,而非显式型别声明 41

 

条款6:当auto推导的型别不符合要求时,使用带显式型别的初始化物习惯用法 46

 

第3章 转向现代C++ 52

 

条款7:在创建对象时注意区分()和{} 52

 

条款8:优先选用nullptr,而非0或NULL 61

 

条款9:优先选用别名声明,而非typedef 64

 

条款10:优先选用限定作用域的枚举型别,而非不限作用域的枚举型别 68

 

条款11:优先选用删除函数,而非private未定义函数 74

 

条款12:为意在改写的函数添加override声明 79

 

条款13:优先选用const_iterator,而非iterator 85

 

条款14:只要函数不会发射异常,就为其加上noexcept声明 89

 

条款15:只要有可能使用constexpr,就使用它 95

 

条款16:保证const成员函数的线程安全性  101

 

条款17:理解特种成员函数的生成机制  106

 

第4章 智能指针  113

 

条款18:使用std::unique_ptr管理具备专属所有权的资源  115

 

条款19:使用std::shared_ptr管理具备共享所有权的资源  120

 

条款20:对于类似std::shared_ptr但有可能空悬的指针使用std::weak_ptr  129

 

条款21:优先选用std::make_unique和std::make_shared,而非直接使用new  133

 

条款22:使用Pimpl习惯用法时,将特殊成员函数的定义放到实现文件中  141

 

第5章 右值引用、移动语义和完美转发 150

 

条款23:理解std::move和std::forward  151

 

条款24:区分万能引用和右值引用  156

 

条款25:针对右值引用实施std::move,针对万能引用实施std::forward  161

 

条款26:避免依万能引用型别进行重载  169

 

条款27:熟悉依万能引用型别进行重载的替代方案  175

 

条款28:理解引用折叠  187

 

条款29:假定移动操作不存在、成本高、未使用  193

 

条款30:熟悉完美转发的失败情形  196

 

第6章 lambda表达式 204

 

条款31:避免默认捕获模式  205

 

条款32:使用初始化捕获将对象移入闭包  212

 

条款33:对auto&&型别的形参使用decltype,以std::forward之  217

 

条款34:优先选用lambda式,而非std::bind  220

 

第7章 并发API 228

 

条款35:优先选用基于任务而非基于线程的程序设计  228

 

条款36:如果异步是必要的,则指定std::launch::async  232

 

条款37:使std::thread型别对象在所有路径皆不可联结  236

 

条款38:对变化多端的线程句柄析构函数行为保持关注  243

 

条款39:考虑针对一次性事件通信使用以void为模板型别实参的期值  247

 

条款40:对并发使用std::atomic,对特种内存使用volatile  254

 

第8章 微调 263

 

条款41:针对可复制的形参,在移动成本低并且一定会被复制的前提下,考虑将

 

其按值传递  263

 

条款42:考虑置入而非插入  273

 


点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP