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
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.
4.
Language Clarification
12 Lessons
Grasp the fundamentals of C++17 enhancements for clarity, predictability, and performance optimizations.
5.
Templates
12 Lessons
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.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Course Author:
Developed by MAANG Engineers
Trusted by 2.8 million developers working at companies
"These are high-quality courses. Trust me. I own around 10 and the price is worth it for the content quality. EducativeInc 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"
Anthony Walker
@_webarchitect_
"Just finished my first full #ML course: Machine learning for Software Engineers from Educative, Inc. ... Highly recommend!"
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."
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"
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."
Vinay Krishnaiah
Software Developer
Hands-on Learning Powered by AI
See how Educative uses AI to make your learning more immersive than ever before.
AI Prompt
Code Feedback
Explain with AI
AI Code Mentor
Free Resources