C++17 in Detail: A Deep Dive

Delve into C++17 to discover major updates enhancing C++'s power and readability, gain essential knowledge, and explore practical examples to stay ahead in modern C++ development.

Beginner

228 Lessons

10h

Certificate of Completion

Delve into C++17 to discover major updates enhancing C++'s power and readability, gain essential knowledge, and explore practical examples to stay ahead in modern C++ development.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

153 Playgrounds
9 Quizzes

This course includes

153 Playgrounds
9 Quizzes

Course Overview

C++ started in 1979 as an experiment, before being officially launched in 1983. In 1998, its first ISO standard was released. What started as an experimental language has quickly turned into a platform for solving complex problems that drive many industries: gaming, finance, data centres, vehicles, and even software for space missions, among many others. The latest release, C++17, builds upon the functionality of previous versions by further diversifying the power of C++ and increasing the language's readab...Show More

TAKEAWAY SKILLS

C++

Programming Language

C++ Concepts

C++ Templates

Course Content

1.

Introduction

Get familiar with C++17's updates, clean language features, maps, and efficient debug printing.
2.

Removed or Fixed Language Features

Unpack the core of C++17's removal and fixing of outdated language features, enhancing clarity and efficiency.
3.

Removed And Deprecated Library Features

Break apart deprecated and removed C++17 library features to enhance programming practices.
4.

Language Clarification

Grasp the fundamentals of C++17 enhancements for clarity, predictability, and performance optimizations.
5.

Templates

Dig deeper into C++17 template enhancements like argument deduction, fold expressions, and if constexpr.
6.

General Language Features

16 Lessons

Focus on C++17's enhanced code readability, expressiveness, structured bindings, inline variables, and compiler support.
7.

Standard Attributes

11 Lessons

Build on understanding C++17 attributes like [[fallthrough]], [[nodiscard]], and enhancing code clarity.
8.

std::optional

17 Lessons

Step through C++17's std::optional for managing nullable values and improving code safety.
9.

std::variant

22 Lessons

Grasp the fundamentals of std::variant for type-safe union implementation in C++17.
10.

std::any

8 Lessons

Master the steps to effectively using std::any for type-safe storage of any type.
11.

std::string_view

23 Lessons

Grasp the fundamentals of std::string_view for efficient, non-owning string handling in C++.
12.

Searchers and String Matching

8 Lessons

Deepen your knowledge of advanced string matching algorithms and efficient search techniques in C++17.
13.

String Conversions

9 Lessons

Tackle efficient string conversions in C++17 with from_chars and to_chars for performance gains.
14.

Filesystem

12 Lessons

Practice using the filesystem library in C++17 for advanced file and directory manipulations.
15.

Parallel STL Algorithms

17 Lessons

Learn how to use parallel STL algorithms in C++17 for efficient multithreading.
16.

Other Changes in the Library

13 Lessons

Discover the logic behind C++17's library enhancements, including std::byte, sampling, and polymorphic allocators.
17.

Refactoring with std::optional and std::variant

7 Lessons

Examine refactoring techniques using std::optional and std::variant for enhanced code clarity and error handling.
18.

Enforcing Code Contracts With [[nodiscard]]

5 Lessons

Grasp the fundamentals of enforcing safer code practices with C++17's [[nodiscard]] attribute.
19.

Replacing enable_if with if constexpr - Factory with Variable Arguments

3 Lessons

Solve problems in creating flexible factory methods with if constexpr in C++17.
20.

How to Parallelise CSV Reader

13 Lessons

Tackle parallelizing CSV reading using C++17 features for improved performance and efficiency.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor