Modern C++ Tutorial
The fastest guide towards modern c++
✒️ By Changkun Ou
Modern C++ Tutorial: C++11/14/17/20 On the Fly is a comprehensive guide for programmers. This book dives into the latest features of C++. It covers standards from C++11 to C++20. Readers will find practical examples and clear explanations. Changkun Ou presents complex topics in an easy-to-understand manner.
Contents of the Book
Introduction
- Targets
- Purpose
- Code
- Exercises
Chapter 01: Towards Modern C++
- Deprecated Features
- Compatibilities with C
- Further Readings
Chapter 02: Language Usability Enhancements
- Constants
- nullptr
- constexpr
- Variables and initialization
- if-switch
- Initializer list
- Structured binding
- Type inference
- auto
- decltype
- tail type inference
- decltype(auto)
- Control flow
- if constexpr
- Range-based for loop
- Templates
- Extern templates
- The “>”
- Type alias templates
- Variadic templates
- Fold expression
- Non-type template parameter deduction
- Object-oriented
- Delegate constructor
- Inheritance constructor
- Explicit virtual function overwrite
- override
- final
- Explicit delete default function
- Strongly typed enumerations
- Conclusion
- Exercises
Chapter 03: Language Runtime Enhancements
- Lambda Expression
- Basics
- Generic Lambda
- Function Object Wrapper
- std::function
- std::bind and std::placeholder
- rvalue Reference
- lvalue, rvalue, prvalue, xvalue
- rvalue reference and lvalue reference
- Move semantics
- Perfect forwarding
- Conclusion
- Further Readings
Chapter 04: Containers
- Linear Container
- std::array
- std::forward_list
- Unordered Container
- Tuples
- Basic Operations
- Runtime Indexing
- Merge and Iteration
- Conclusion
Chapter 05: Smart Pointers and Memory Management
- RAII and Reference Counting
- std::shared_ptr
- std::unique_ptr
- std::weak_ptr
- Conclusion
- Further Readings
Chapter 06: Regular Expression
- Introduction
- Ordinary characters
- Special characters
- Quantifiers
- std::regex and Its Related
- Conclusion
- Exercise
- Further Readings
Chapter 07: Parallelism and Concurrency
- Basic of Parallelism
- Mutex and Critical Section
- Future
- Condition Variable
- Atomic Operation and Memory Model
- Atomic Operation
- Consistency Model
- Memory Orders
- Conclusion
- Exercises
- Further Readings
Chapter 08: File System
- Document and Link
- std::filesystem
- Further Readings
Chapter 09: Minor Features
- New Type
- long long int
- noexcept and Its Operations
- Literal
- Raw String Literal
- Custom Literal
- Memory Alignment
- Conclusion
Chapter 10: Outlook: Introduction of C++20
- Concept
- Module
- Contract
- Range
- Coroutine
- Conclusion
- Further Readings
Appendix 1: Further Study Materials
Appendix 2: Modern C++ Best Practices
- Common Tools
- Coding Style
- Overall Performance
- Code Security
- Maintainability
- Portability
Book Overview
This tutorial serves as a hands-on guide for developers at all levels. It starts with the basics and gradually introduces advanced concepts. Each chapter focuses on a specific feature of modern C++. For instance, you will learn about auto keyword, smart pointers, and lambda expressions. The book also covers concurrency and template programming. Readers will appreciate the real-world examples that illustrate each concept. By the end, you will feel confident in using modern C++ in your projects.
Why Read This Book
Modern C++ Tutorial: C++11/14/17/20 On the Fly is valuable for several reasons. First, it keeps you updated with the latest standards. C++ is evolving rapidly, and this book helps you stay relevant. Second, it encourages hands-on learning. You will not just read about concepts; you will apply them. Finally, it provides a solid foundation for further exploration. With this book, you will build confidence in your coding skills.
Who This Book Is For
This book is for anyone interested in programming with C++. Beginners will find it approachable. Intermediate developers will discover new techniques and best practices. Moreover, seasoned programmers can refresh their knowledge and learn about recent changes. If you want to master modern C++, this book is for you.
What You Will Learn
- How to effectively use C++11, C++14, C++17, and C++20 features.
- Practical techniques for writing cleaner and more efficient code.
- Best practices for implementing modern C++ in real-world applications.
Leave a Reply
You must be logged in to post a comment.