Effective Modern C++:改善C++11和C++14的42个具体做法

副标题:无

作   者:(美)迈耶斯 著

分类号:

ISBN:9787564159115

微信扫一扫,移动浏览光盘

简介

  理解C++11和C++14可不只是熟悉它们引入的特性 (例如,auto类型声明、移动语义、lambda表达式和并行计算支持)这么简单。挑战在于学习如何高效应用这些特性——让你的软件正确、有效、易于维护和可移植。这就是这本具有很强实践性的书籍的目的所在。本书描述了如何使用C++11和C++14编写真正伟大的软件——使用现代C++。  《Effective Modern C++(改善C++11和C++14的 42个具体做法影印版)(英文版)》遵循久经考验、基于规则和实例驱动的迈耶斯早期书籍的样式,但编写了全新的内容。对于每位现代C++软件的开发者而言,本书都是必读书籍。

目录

From the Publisher
Acknowledgments
Introduction
1.Deducing Types
  Item 1: Understand template type deduction.
  Item 2: Understand auto type deduction.
  Item 3: Understand decltype.
  Item 4: Know how to view deduced types.
2.auto
  Item 5: Prefer auto to explicit type declarations.
  Item 6: Use the explicitly typed initializer idiom when auto deduces undesired types.
3.Moving to Modern C++
  Item 7: Distinguish between ( ) and {} when creating objects.
  Item 8: Prefer nullptr to 0 and NULL.
  Item 9: Prefer alias declarations to typedefs.
  Item 10: Prefer scoped enums to unscoped enuns.
  Item 11: Prefer deleted functions to private undefined ones.
  Item 12: Declare overriding functions overri.de.
  Item 13: Prefer const_iterators to iterators.
  Item 14: Declare functions noexcept ifthey won't emit exceptions.
  Item 15: Use constexpr whenever possible.
  Item 16: Make const member functions thread safe.
  Item 17: Understand special member function generation.
4.Smart Pointers
  Item 18: Use std: : unique_ptr for exclusive-ownership resource management.
  Item 19: Use std: : shared_ptr for shared-ownership resource management.
  Item 20: Use std : :weak_ptr for std : : shared_ptr-like pointers that can dangle.
  Item 21: Prefer std : :make_unique and std : :make_shared to direct use of new.
  Item 22: When using the Pimpl Idiom, define special member functions in the implementation file.
5.Rvalue References, Move Semantics, and Perfect Forwarding
  Item 23: Understand std : : move and std : : forward.
  Item 24: Distinguish universal references from rvalue references.
  Item 25: Use std : : move on rvalue references, std : : forward on universal references.
  Item 26: Avoid overloading on universal references.
  Item 27: Familiarize yourself with alternatives to overloading on universal references.
  Item 28: Understand reference collapsing.
  Item 29: Assume that move operations are not present, not cheap, and not used.
  Item 30: Familiarize yourself with perfect forwarding failure cases.
6.Lambda Expressions
  Item 31: Avoid default capture modes.
  Item 32: Use init capture to move objects into closures.
  Item 33: Use decltype on auto&& parameters to std: :forward them.
  Item 34: Prefer lambdas to std : : bind.
7.The Concurrency API
  Item 35: Prefer task-based programming to thread-based.
  Item 36: Specify std: :launch: :async ifasynchronicityis essential.
  Item 37: Make std : : threads unjoinable on all paths.
  Item 38: Be aware of varying thread handle destructor behavior.
  Item 39: Consider voi_d futures for one-shot event communication.
  Item 40: Use std : : atoni.c for concurrency, volatile for special memory.
8.Tweaks
  Item 41: Consider pass by value for copyable parameters that are cheap to move and always copied.
  Item 42: Consider emplacement instead of insertion.
Index

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Effective Modern C++:改善C++11和C++14的42个具体做法
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon