Advanced C++ FAQs: Volumes 1 & 2

Chandra Shekhar Kumar

  • 出版商: CreateSpace Independ
  • 出版日期: 2014-06-18
  • 售價: $1,330
  • 貴賓價: 9.5$1,264
  • 語言: 英文
  • 頁數: 392
  • 裝訂: Paperback
  • ISBN: 1500228125
  • ISBN-13: 9781500228125
  • 相關分類: C++ 程式語言
  • 海外代購書籍(需單獨結帳)

商品描述

This book is a combination of the following two books :
  1. Advanced C++ FAQs: Volume 1 : Fundamentals
  2. Advanced C++ FAQs: Volume 2 : Generic Programming


  3. Advanced C++ FAQs: Volume 1 : Fundamentals
    This book is not an introduction to C++. It assumes that the reader is aware of the basics of C++98 and C++03 and is keen to expand her horizon to latest and greatest in the present and future of C++, including C++11 and C++1y(aka C++14). It contains selected fundamental problems with detailed solutions to all of these which will help the reader to hone her skills to solve a particular problem.

    Advanced C++ FAQs: Volume 2 : Generic Programming
    This book is sequel to the first volume Advanced C++ FAQs : Volume 1 : Fundamentals. It contains selected generic programming problems with detailed solutions.

    1. Algorithms
    2. 1.1 Efficient Insertion in Vector
      1.2 reverse algorithm for forward iterators
      ...
      1.4 swapping unequal sections
      1.5 rotate algorithm
      ...
      1.9 Avoid Raw Loops
      ...
      1.13 better algorithm than std::rotate
      ...
      1.16 reverse algorithm dispatch
      1.17 Efficient Algorithm for reverse
      ...
      1.21 is partitioned algorithm
      1.22 Bisection Algorithm
      ...
      1.25 advance and next
      1.26 custom iota
      ...
    3. Utilities
    4. 2.1 std::move is rvalue cast
      2.2 std::move if noexcept
      2.3 std::forward
      ...
      2.6 is same

    5. Templates
    6. 3.1 alias template
      3.2 template parameter pack
      3.3 override virtual and template
      ...


    7. Classes
    8. Namespaces
    9. Type Specifiers
    10. Constant Expression
    11. C++14
    12. ...
      8.4 auto return type in function declaration
      ...
      8.6 return type deduction for lambdas
      8.7 decltype(auto)
      ...
      8.9 explicit instantiation and auto
      8.10 return type deduction and virtual
      ...
      8.12 generalized lambda capture
      8.13 generic lambda and product vector
      ...
    13. Miscellaneous
    14. More C++14
    15. 10.1 variable templates
      ...
      10.5 static data member template
      ...
      10.7 default argument and specialization of variable template 10.8 lambda and variable template
      ...
      10.15 auto variable template and generic lambda
      10.16 constexpr member functions and implicit const
      10.17 constexpr constructor and initialization
      ...
      10.23 deprecated attribute
      10.24 Member initializers and aggregate class
      ...
      10.31 Type Transformation Aliases
      ...
      10.33 make unique as perfect forwarding guy
      ...
      10.37 make unique and default initialization
      10.38 make unique and array T[n]
      ...
      10.43 Extend make unique : T[N]
      10.44 allocate unique
      10.45 Compile-time integer sequences
      ...
      10.47 std::index sequence
      10.48 Custom Sequence : Addition
      ...
      10.55 sfinae and represent type of function
      10.56 metafunction : check presence of type member
      10.57 std::common type and sfinae


    16. Foundation
    17. 11.1 private cast
      11.2 Value Type Deduction Framework
      ...
      11.5 Template Alias and Rebind Template
      11.6 Template Alias and Non Deducible Context
      ...
      11.8 Template Alias and Specialization
      ...
      11.13 std::copy backward
      ...
      11.18 iota n : iota for writing n items
      11.19 Reverse iota
      ...
      11.24 Preventing Name Hijacking
      ...
      11.29 Move Constructor and unique pointer
      11.30 Find First Null Pointer in a Container
      11.31 Average of variable number of arguments
      ....
      11.33 Exchange Utility
      11.34 Addressing Tuple By Type
      11.35 Quoted manipulators
      11.36 Null Iterator

商品描述(中文翻譯)

這本書是以下兩本書的結合:
1. 《Advanced C++ FAQs: Volume 1 : Fundamentals》
2. 《Advanced C++ FAQs: Volume 2 : Generic Programming》

《Advanced C++ FAQs: Volume 1 : Fundamentals》
這本書不是C++的入門書,假設讀者已經熟悉C++98和C++03的基礎知識,並且渴望擴展她在C++的現在和未來的知識,包括C++11和C++1y(也稱為C++14)。它包含了選定的基礎問題,並提供詳細的解決方案,幫助讀者提升解決特定問題的能力。

《Advanced C++ FAQs: Volume 2 : Generic Programming》
這本書是第一卷《Advanced C++ FAQs: Volume 1 : Fundamentals》的續集。它包含了選定的泛型編程問題,並提供詳細的解決方案。

目錄如下:
1. 算法
1.1 向量的高效插入
1.2 正向迭代器的反轉算法
...
1.4 不相等區段的交換
1.5 旋轉算法
...
1.9 避免使用原始迴圈
...
1.13 優於std::rotate的算法
...
1.16 反轉算法分派
1.17 反轉的高效算法
...
1.21 是否已分割的算法
1.22 二分法算法
...
1.25 advance和next
1.26 自定義iota
2. 實用工具
2.1 std::move是右值轉換
2.2 如果noexcept則std::move
2.3 std::forward
...
2.6 是否相同
3. 模板
3.1 別名模板
3.2 模板參數包
3.3 覆蓋虛擬和模板
...
4. 類別
5. 命名空間
6. 類型限定符
7. 常量表達式
8. C++14
...
8.4 函數聲明中的自動返回類型
...
8.6 lambda的返回類型推斷
8.7 decltype(auto)
...
8.9 明確實例化和自動
8.10 返回類型推斷和虛擬
...
8.12 通用lambda捕獲
8.13 通用lambda和向量乘法
...
9. 雜項
10. 更多C++14
10.1 變量模板
...
10.5 靜態數據成員模板
...
10.7 變量模板的默認參數和特化
10.8 lambda和變量模板
...
10.15 自動變量模板和通用lambda
10.16 constexpr成員函數和隱式const
10.17 constexpr構造函數和初始化
...
10.23 廢棄屬性
10.24 成員初始化和聚合類
...
10.31 類型轉換別名
...
10.33 完美轉發的make_unique
...
10.37 make_unique和默認初始化
10.38 make_unique和陣列T[n]
...
10.43 擴展make_unique:T[N]
10.44 分配unique
10.45 編譯時整數序列
...
10.47 std::index_sequence
10.48 自定義序列:加法
...
10.55 sfinae和函數的類型表示
10.56 元函數:檢查類型成員的存在
10.57 std::common_type和sfinae

11. 基礎知識
11.1 私有轉換
11.2 值類型推斷框架
...
11.5 模板別名和重新綁定模板
11.6 模板別名和不可推斷的上下文
...
11.8 模板別名和特化
...
11.13 std::copy反向
...
11.18 iota n:用於寫入n個項目的iota
11.19 反向iota
...
11.24 防止名稱劫持
...
11.29 移動構造函數和unique pointer
11.30 在容器中找到第一個空指針
11.31 變數數量的平均值
...
11.33 交換實用程序
11.34 按類型訪問元組
11.35 引用的操作符
11.36 空迭代器