|
1 |
| -# C++ 11/14/17 On The Fly |
| 1 | +# C++ 11/14/17/20 On The Fly |
2 | 2 |
|
3 | 3 | ## Table of Contents
|
4 | 4 |
|
5 | 5 | - [**Preface**](./00-preface.md)
|
6 |
| -- [**Chapter 01 Towards C++11/14/17**](./01-intro.md) |
| 6 | +- [**Chapter 01 Towards Modern C++**](./01-intro.md) |
7 | 7 | + 1.1 Deprecated Features
|
8 | 8 | + 1.2 Compatibility with C
|
9 | 9 | + Further Readings
|
|
39 | 39 | - Explicit delete default function
|
40 | 40 | - Strongly typed enumerations
|
41 | 41 | - [**Chapter 03 Language Runtime Enhancements**](./03-runtime.md)
|
42 |
| - + Lambda expression |
| 42 | + + 3.1 Lambda expression |
43 | 43 | + Basics
|
44 | 44 | + Value capture
|
45 | 45 | + Reference capture
|
46 | 46 | + Implicit capture
|
47 | 47 | + Expression capture
|
48 | 48 | + Generic lambda
|
49 |
| - + Function object wrapper |
| 49 | + + 3.2 Function object wrapper |
50 | 50 | + std::function
|
51 | 51 | + std::bind/std::placeholder
|
52 |
| - + rvalue reference |
| 52 | + + 3.3 rvalue reference |
53 | 53 | + lvalue, rvalue, prvalue, xvalue
|
54 | 54 | + rvalue reference & lvalue reference
|
55 | 55 | + Move semantics
|
56 | 56 | + Perfect forwarding
|
57 | 57 | - [**Chapter 04 Sandard Library: Containers**](./04-containers.md)
|
58 |
| - + `std::array` |
59 |
| - + `std::forward_list` |
60 |
| - + `std::unordered_set` |
61 |
| - + `std::unordered_map` |
62 |
| - + `std::tuple` |
| 58 | + + 4.1 `std::array` and `std::forward_list` |
| 59 | + + 4.2 Unordered containers |
| 60 | + + `std::unordered_set` |
| 61 | + + `std::unordered_map` |
| 62 | + + 4.3 Tuples `std::tuple` |
63 | 63 | + basic operation
|
64 | 64 | + runtime indexing
|
65 | 65 | + merge and iteration
|
66 | 66 | - [**Chapter 05 Sandard Library: Pointers**](./05-pointers.md)
|
67 |
| - + RAII and reference counting |
68 |
| - + `std::shared_ptr` |
69 |
| - + `std::unique_ptr` |
70 |
| - + `std::weak_ptr` |
| 67 | + + 5.1 RAII and reference counting |
| 68 | + + 5.2 `std::shared_ptr` |
| 69 | + + 5.3 `std::unique_ptr` |
71 | 70 | - [**Chapter 06 Sandard Library: Regular Expression**](./06-regex.md)
|
72 |
| - + Regular Expression Introduction |
| 71 | + + 6.1 Regular Expression Introduction |
73 | 72 | + Normal characters
|
74 | 73 | + Special characters
|
75 | 74 | + Determinative
|
76 |
| - + `std::regex` |
| 75 | + + 6.2 `std::regex` and related |
77 | 76 | + `std::regex`
|
78 | 77 | + `std::regex_match`
|
79 | 78 | + `std::match_results`
|
80 | 79 | - [**Chapter 07 Sandard Library: Threads and Concurrency**](./07-thread.md)
|
81 |
| - + `std::thread` |
82 |
| - + `std::mutex` |
83 |
| - + `std::unique_lock` |
84 |
| - + `std::future` |
85 |
| - + `std::packaged_task` |
86 |
| - + `std::condition_variable` |
| 80 | + + 7.1 `std::thread` |
| 81 | + + 7.2 `std::mutex` and `std::unique_lock` |
| 82 | + + 7.3 `std::future` and `std::packaged_task` |
| 83 | + + 7.4 `std::condition_variable` |
| 84 | + + 7.5 `std::atomic` and memory order |
| 85 | + + 7.6 Transactional memory |
87 | 86 | - [**Chapter 08 Sandard Library: File System**](./08-filesystem.md)
|
| 87 | + + 8.1 Documents and links |
| 88 | + + 8.2 `std::filesystem` |
88 | 89 | - [**Chapter 09 Minor Features**](./09-others.md)
|
89 |
| - + New Types |
| 90 | + + 9.1 New Types |
90 | 91 | + `long long int`
|
91 |
| - + `noexcept` |
92 |
| - + Literal |
| 92 | + + 9.2 `noexcept` and its operates |
| 93 | + + 9.3 Literal |
93 | 94 | + Raw string literal
|
94 | 95 | + Custom string literal
|
95 |
| - + Math Library |
| 96 | + + 9.4 Math Library |
96 | 97 | - [**Chapter 10 Outlook: Introduction of C++20**](./10-cpp20.md)
|
97 | 98 | + Concept
|
98 | 99 | + Range
|
99 | 100 | + Module
|
100 | 101 | + Coroutine
|
101 |
| -- [**Appendix: Further Study Materials**](./appendix.md) |
| 102 | +- [**Appendix 1: Further Study Materials**](./appendix1.md) |
| 103 | +- [**Appendix 2: Modern C++ Best Practices**](./appendix2.md) |
102 | 104 |
|
103 | 105 | Table of Content | Last Chapter | [Next Chapter: Preface](./00-preface.md)
|
104 | 106 |
|
105 | 107 | ## Licenses
|
106 | 108 |
|
107 |
| -<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a><br />This work is written by [Ou Changkun](https://changkun.de) and licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>. The code of this repository is open sourced under the [MIT license](./LICENSE). |
| 109 | +<a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/"><img alt="Creative Commons License" style="border-width:0" src="https://i.creativecommons.org/l/by-nc-nd/4.0/88x31.png" /></a><br />This work was written by [Ou Changkun](https://changkun.de) and licensed under a <a rel="license" href="http://creativecommons.org/licenses/by-nc-nd/4.0/">Creative Commons Attribution-NonCommercial-NoDerivatives 4.0 International License</a>. The code of this repository is open sourced under the [MIT license](./LICENSE). |
0 commit comments