HomeCoursesC++17 in Detail: A Deep Dive
AI-powered learning
Save

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.

228 Lessons
10h
Join 2.9 million developers at
Join 2.9 million developers at

Learning Roadmap

228 Lessons9 Quizzes

1.

Introduction

Introduction

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

2.

Removed or Fixed Language Features

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

Removed And Deprecated Library Features

7 Lessons

7 Lessons

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

4.

Language Clarification

Language Clarification

12 Lessons

12 Lessons

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

5.

Templates

Templates

12 Lessons

12 Lessons

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

6.

General Language Features

General Language Features

16 Lessons

16 Lessons

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

7.

Standard Attributes

Standard Attributes

11 Lessons

11 Lessons

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

8.

std::optional

std::optional

17 Lessons

17 Lessons

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

9.

std::variant

std::variant

22 Lessons

22 Lessons

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

10.

std::any

std::any

8 Lessons

8 Lessons

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

11.

std::string_view

std::string_view

23 Lessons

23 Lessons

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

12.

Searchers and String Matching

Searchers and String Matching

8 Lessons

8 Lessons

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

13.

String Conversions

String Conversions

9 Lessons

9 Lessons

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

14.

Filesystem

Filesystem

12 Lessons

12 Lessons

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

15.

Parallel STL Algorithms

Parallel STL Algorithms

17 Lessons

17 Lessons

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

16.

Other Changes in the Library

Other Changes in the Library

13 Lessons

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

Refactoring with std::optional and std::variant

7 Lessons

7 Lessons

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

18.

Enforcing Code Contracts With [[nodiscard]]

Enforcing Code Contracts With [[nodiscard]]

5 Lessons

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

Replacing enable_if with if constexpr - Factory with Variable Arguments

3 Lessons

3 Lessons

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

20.

How to Parallelise CSV Reader

How to Parallelise CSV Reader

13 Lessons

13 Lessons

Tackle parallelizing CSV reading using C++17 features for improved performance and efficiency.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Author NameC++17 in Detail: ADeep Dive
Developed by MAANG Engineers
ABOUT THIS COURSE
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 readability. This course describes all the significant changes in C++17 and will give you the essential knowledge to stay at the edge of the latest features. What’s more, each section contains lots of practical examples and uses a bottom-up approach to give you a more comfortable start. If you have a moderate understanding of C++, this course is highly recommended as the next step in mastering the modern form of this language.
ABOUT THE AUTHOR

Bartłomiej Filipek

I'm a passionate software developer with more than 14 years of professional experience. I share coding stories at my blog (cppstories.com), I write mostly about C++. In my spare time, I love assembling Lego with my son :) I live in Cracow/Poland.

Learn more about Bartłomiej

Trusted by 2.9 million developers working at companies

These are high-quality courses. Trust me the price is worth it for the content quality. Educative came at the right time in my career. I'm understanding topics better than with any book or online video tutorial I've done. Truly made for developers. Thanks

A

Anthony Walker

@_webarchitect_

Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!

E

Evan Dunbar

ML Engineer

You guys are the gold standard of crash-courses... Narrow enough that it doesn't need years of study or a full blown book to get the gist, but broad enough that an afternoon of Googling doesn't cut it.

S

Software Developer

Carlos Matias La Borde

I spend my days and nights on Educative. It is indispensable. It is such a unique and reader-friendly site

S

Souvik Kundu

Front-end Developer

Your courses are simply awesome, the depth they go into and the breadth of coverage is so good that I don't have to refer to 10 different websites looking for interview topics and content.

V

Vinay Krishnaiah

Software Developer

Built for 10x Developers

No Passive Learning
Learn by building with project-based lessons and in-browser code editor
Learn by Doing
Personalized Roadmaps
The platform adapts to your strengths & skills gaps as you go
Learn by Doing
Future-proof Your Career
Get hands-on with in-demand skills
Learn by Doing
AI Code Mentor
Write better code with AI feedback, smart debugging, and "Ask AI"
Learn by Doing
Learn by Doing
MAANG+ Interview Prep
AI Mock Interviews simulate every technical loop at top companies
Learn by Doing