CODE大全
版权声明:本文为博主原创文章,未经博主允许不得转载。

《Effective Modern C++ 》开发指南,中文使用手册,中文文档,原文翻译

发布时间:『 2017-07-31 11:36』  博客类别:日志  阅读(2152) 评论(0)

C++知名的书籍有很多,但大多数都是英文版的,让多数英文不是很好的人望尘莫及。

《Effective Modern C++ 》算是业内最为著名的学习C++的编程书籍只一了。但是很少有完整的翻译,本文整理并翻译了它的大部分内容。分享给各位读者,由于个人知识有限,如有翻译错误的地方,请谅解。

《Effective Modern C++ 》中文版

目录

类型推导

  • Item 1:理解模板类型推导revised

  • Item 2:理解auto类型推导

  • Item 3:理解decltype

  • Item 4:学会查看类型推导结果

auto

  • Item 5:优先考虑auto而非显式类型声明

  • Item 6:auto推导若非己愿,使用显式类型初始化惯用法

移步现代C++

  • Item 7:区别使用()和{}创建对象

  • Item 8:优先考虑nullptr而非0和NULL

  • Item 9:优先考虑别名声明而非typedefs

  • Item 10:优先考虑域内enum而非域外enum

  • Item 11:优先考虑使用delete而非使用未定义的私有声明

  • Item 12:使用override声明重载函数

  • Item 13:优先考虑const_iterator而非iterator

  • Item 14:如果函数不抛出异常请使用noexcept

  • Item 15:尽可能的使用constexpr

  • Item 16:确保const成员函数线程安全

  • Item 17:理解特殊成员函数函数的生成

智能指针

  • Item 18:对于占有性资源使用std::unique_ptr

  • Item 19:对于共享性资源使用std::shared_ptr

  • Item 20:对于类似于std::shared_ptr的指针使用std::weak_ptr可能造成悬置

  • Item 21:优先考虑使用std::make_unique和std::make_shared而非new

  • Item 22:当使用Pimpl惯用法,请在实现文件中定义特殊成员函数

右值引用,移动语意,完美转发

  • Item 23:理解std::move和std::forward

  • Item 24:区别通用引用和右值引用

  • Item 25:对于右值引用使用std::move,对于通用引用使用std::forward

  • Item 26:避免重载通用引用

  • Item 27:熟悉重载通用引用的替代品

  • Item 28:理解引用折叠

  • Item 29:认识移动操作的缺点

  • Item 30:熟悉完美转发失败的情况

Lambda表达式

  • Item 31:避免使用默认捕获模式

  • Item 32:使用初始化捕获来移动对象到闭包中

  • Item 33:对于std::forward的auto&&形参使用decltype

  • Item 34:有限考虑lambda表达式而非std::bind

并发API

  • Item 35:优先考虑基于任务的编程而非基于线程的编程

  • Item 36:如果有异步的必要请指定std::launch::threads

  • Item 37:从各个方面使得std::threads unjoinable

  • Item 38:知道不同线程句柄析构行为

  • Item 39:考虑对于单次事件通信使用void

  • Item 40:对于并发使用std::atomic,volatile用于特殊内存区

微调

  • Item 41:对于那些可移动总是被拷贝的形参使用传值方式

  • Item 42:考虑就地创建而非插入

翻译相关

constness译为常量性,volatitleness译为易变性,reference-ness视情况直接译为引用

built-in译为内置而不是内建

literal译为字面值


——— 全文完 ———
如有版权问题,请联系532009913@qq.com。
关键字:   C++     翻译  
评论信息
暂无评论
发表评论
验证码: 
Powered by CODE大全 | 鄂ICP备14009759号-2 | 网站留言 Copyright © 2014-2016 CODE大全 版权所有