mirror of
https://github.com/changkun/modern-cpp-tutorial.git
synced 2025-12-17 12:44:40 +03:00
109 lines
3.8 KiB
Markdown
109 lines
3.8 KiB
Markdown
# C++ 11/14/17/20 On The Fly
|
|
|
|
## Table of Contents
|
|
|
|
- [**Preface**](./00-preface.md)
|
|
- [**Chapter 01 Towards Modern C++**](./01-intro.md)
|
|
+ 1.1 Deprecated Features
|
|
+ 1.2 Compatibility with C
|
|
+ Further Readings
|
|
- [**Chapter 02 Language Usability Enhancements**](./02-usability.md)
|
|
+ 2.1 Constants
|
|
- nullptr
|
|
- constexpr
|
|
+ 2.2 Variables & Initialization
|
|
- Conditional Statement
|
|
- Initializer List
|
|
- Structured binding
|
|
+ 2.3 Type Deduction
|
|
- auto
|
|
- decltype
|
|
- Tail return type
|
|
- decltype(auto)
|
|
+ 2.4 Control Flow
|
|
- if constexpr
|
|
- Range-based for loop
|
|
+ 2.5 Templates
|
|
- External templates
|
|
- The ">"
|
|
- Type alias templates
|
|
- Default template parameters
|
|
- Variadic templates
|
|
- Fold expression
|
|
+ 2.6 Object-oriented
|
|
- Delegate constructor
|
|
- Inheritance constructor
|
|
- Explicit virtual function overwrite
|
|
- override
|
|
- final
|
|
- Explicit delete default function
|
|
- Strongly typed enumerations
|
|
- [**Chapter 03 Language Runtime Enhancements**](./03-runtime.md)
|
|
+ 3.1 Lambda expression
|
|
+ Basics
|
|
+ Value capture
|
|
+ Reference capture
|
|
+ Implicit capture
|
|
+ Expression capture
|
|
+ Generic lambda
|
|
+ 3.2 Function object wrapper
|
|
+ std::function
|
|
+ std::bind/std::placeholder
|
|
+ 3.3 rvalue reference
|
|
+ lvalue, rvalue, prvalue, xvalue
|
|
+ rvalue reference & lvalue reference
|
|
+ Move semantics
|
|
+ Perfect forwarding
|
|
- [**Chapter 04 Sandard Library: Containers**](./04-containers.md)
|
|
+ 4.1 `std::array` and `std::forward_list`
|
|
+ 4.2 Unordered containers
|
|
+ `std::unordered_set`
|
|
+ `std::unordered_map`
|
|
+ 4.3 Tuples `std::tuple`
|
|
+ basic operation
|
|
+ runtime indexing
|
|
+ merge and iteration
|
|
- [**Chapter 05 Sandard Library: Pointers**](./05-pointers.md)
|
|
+ 5.1 RAII and reference counting
|
|
+ 5.2 `std::shared_ptr`
|
|
+ 5.3 `std::unique_ptr`
|
|
- [**Chapter 06 Sandard Library: Regular Expression**](./06-regex.md)
|
|
+ 6.1 Regular Expression Introduction
|
|
+ Normal characters
|
|
+ Special characters
|
|
+ Determinative
|
|
+ 6.2 `std::regex` and related
|
|
+ `std::regex`
|
|
+ `std::regex_match`
|
|
+ `std::match_results`
|
|
- [**Chapter 07 Sandard Library: Threads and Concurrency**](./07-thread.md)
|
|
+ 7.1 `std::thread`
|
|
+ 7.2 `std::mutex` and `std::unique_lock`
|
|
+ 7.3 `std::future` and `std::packaged_task`
|
|
+ 7.4 `std::condition_variable`
|
|
+ 7.5 `std::atomic` and memory order
|
|
+ 7.6 Transactional memory
|
|
- [**Chapter 08 Sandard Library: File System**](./08-filesystem.md)
|
|
+ 8.1 Documents and links
|
|
+ 8.2 `std::filesystem`
|
|
- [**Chapter 09 Minor Features**](./09-others.md)
|
|
+ 9.1 New Types
|
|
+ `long long int`
|
|
+ 9.2 `noexcept` and its operates
|
|
+ 9.3 Literal
|
|
+ Raw string literal
|
|
+ Custom string literal
|
|
+ 9.4 Math Library
|
|
- [**Chapter 10 Outlook: Introduction of C++20**](./10-cpp20.md)
|
|
+ Concept
|
|
+ Range
|
|
+ Module
|
|
+ Coroutine
|
|
- [**Appendix 1: Further Study Materials**](./appendix1.md)
|
|
- [**Appendix 2: Modern C++ Best Practices**](./appendix2.md)
|
|
|
|
Table of Content | Last Chapter | [Next Chapter: Preface](./00-preface.md)
|
|
|
|
## Licenses
|
|
|
|
<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). |