当前位置:首页 > 计算机书籍 > 正文内容

《Effective Modern C++ 简体中文版》高清PDF电子书

sunjin1年前 (2024-03-25)计算机书籍2708

s29744649[1].jpg

作者: Scott Meyers

出版社: 中国电力出版社

副标题: 42招独家技巧助您改善C++11和C++14的高效用法

原作名: Effective Modern C++

译者: 高博

ISBN: 9787519817749



内容简介

想要彻底理解C++11和C++14,不可止步于熟悉它们引入的语言特性(例如,auto型别推导、移动语义、lambda表达式以及并发支持)。挑战在于高效地运用这些特性——从而使你的软件具备正确性、高效率、可维护性和可移植性。这正是这本实用的图书意欲达成的定位。它描述的正是使用C++11和C++14——现代C++来撰写真正卓越的软件之道。

涵盖以下主题:

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

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

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

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

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

《Effective Modern C++》沿用了Scott Meyers早期作品中业已证明的基于指导原则和实例驱动的格式,但介绍的是全新材料。本书是所有C++软件开发工程师的必读之选。


目录

推荐序

译者序

对本书的称许

出版商声明

致谢

绪论

术语和惯例

提交缺陷报告和改进建议

型别推导

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

条款2:理解auto型别推导

条款3:理解decltype

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

auto

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

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

转向现代C++

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

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

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

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

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

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

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

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

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

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

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

智能指针

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

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

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

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

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

右值引用、移动语义和完美转发

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

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

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

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

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

条款28:理解引用折叠

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

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

lambda表达式

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

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

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

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

并发API

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

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

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

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

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

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

微调

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

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

作者简介

题记


下载地址

https://pan.quark.cn/s/86a20a3edc23

扫描二维码推送至手机访问。

版权声明:本文由01cv 计科资源网发布,如需转载请注明出处。

本文链接:https://01cv.cn/post/14.html

分享给朋友:

“《Effective Modern C++ 简体中文版》高清PDF电子书” 的相关文章

《Linux开源网络全栈详解:从DPDK到OpenFlow》高清电子书PDF 免费下载

《Linux开源网络全栈详解:从DPDK到OpenFlow》高清电子书PDF 免费下载

作者: 英特尔亚太研发有限公司 编著出版社: 电子工业出版社出品方: 博文视点出版年: 2019-7页数: 268定价: 69.00元装帧: 平装ISBN: 9787121367861下载地址https://pan.quark.cn/s/a887ea7edcb4内容简介《Linux开源网络全栈详解:...

《操作系统真象还原》郑钢 高清PDF电子书 带附书源代码

《操作系统真象还原》郑钢 高清PDF电子书 带附书源代码

书名:《操作系统真象还原》郑钢 高清PDF电子书 带附书源代码作者: 郑钢出版社: 人民邮电出版社ISBN: 9787115414342分类:计算机操作系统内容简介        大学及研究...

《Linux设备驱动程序》高清电子书PDF带书签免费下载

《Linux设备驱动程序》高清电子书PDF带书签免费下载

作者: 科波特出版社: 中国电力出版社原作名: Linux Device Drivers,Third Edition译者: 魏永明 / 耿岳 / 钟书毅出版年: 2006-1-1页数: 569定价: 69.00元装帧: 平装ISBN: 9787508338637下载地址https://pan.qua...

《C++ 程序设计语言(第 1 - 3 部分)(原书第 4 版)》带书签 高清 电子书 PDF 下载

《C++ 程序设计语言(第 1 - 3 部分)(原书第 4 版)》带书签 高清 电子书 PDF 下载

作者: Bjarne Stroustrup出版社: 机械工业出版社原作名: The C++ Programming Language, Fourth Edition译者: 王刚 / 杨巨峰出版年: 2016-7装帧: 平装丛书: 计算机科学丛书ISBN: 9787111539414下载地址https...

《大话数据结构》程杰 带书签 高清 电子书 PDF 下载

《大话数据结构》程杰 带书签 高清 电子书 PDF 下载

书名:《大话数据结构》作者: 程杰出版社: 清华大学出版社出版年: 2011-6页数: 440定价: 59.00元装帧: 平装丛书: 大话系列ISBN: 9787302255659下载地址https://pan.quark.cn/s/1919c0ba7163内容简介本书为超级畅销书《大话设计模式》作...

计算机科学丛书系列 深入理解计算机系统(原书第3版) 高清带书签PDF

计算机科学丛书系列 深入理解计算机系统(原书第3版) 高清带书签PDF

书名:《计算机操作系统(第4版)》学习指导与题解出版社:西安电子科技大学出版社ISBN号:9787111544937 分类:计算机科学丛书内容推荐兰德尔E.布莱恩特、大卫R.奥哈拉伦著,龚奕利、贺莲译的《深入理解计算机系统(原书第3版)/计算机科学丛书》从程序员的视角详细阐述计算机系统的本...