HomeCoursesC++17 in Detail: A Deep Dive

Beginner

10h

C++17 in Detail: A Deep Dive
Save

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.
Join 2.7 million developers at
Overview
Content
Reviews
Related
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.
C++ started in 1979 as an experiment, before being officially launched in 1983. In 1998, its first ISO standard was released. Wh...Show More

TAKEAWAY SKILLS

C++

Programming Language

C++ Concepts

C++ Templates

Content

1.

Introduction

4 Lessons

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

2.

Removed or Fixed Language Features

9 Lessons

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

3.

Removed And Deprecated Library Features

7 Lessons

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

7.

Standard Attributes

11 Lessons

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

10.

std::any

8 Lessons

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

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.

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.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Developed by MAANG Engineers
Every Educative resource is designed by our in-house team of ex-MAANG software engineers and PhD computer science educators — subject matter experts who’ve shipped production code at scale and taught the theory behind it. The goal is to get you hands-on with the skills you need to stay ahead in today's constantly evolving tech landscape. No videos, no fluff — just interactive, project-based learning with personalized feedback that adapts to your goals and experience.

Trusted by 2.7 million developers working at companies

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.

Adaptive Learning

Explain with AI

AI Code Mentor

Free Resources

FOR TEAMS

Interested in this course for your business or team?

Unlock this course (and 1,000+ more) for your entire org with DevPath