C++ is one of the most prominent programming languages in the world. Along with optimized performance, the diverse functionality it offers has kept the language relevant for two decades. The C++ Standard Library, which is the collection of all the tools and utilities available in C++, received its latest update in 2017. Known as C++17, the update introduces many new features that further optimize our code.
Join us in this course as we venture into the vast world of C++17. We’ll examine the fundamentals of the language, before moving on to more complex yet powerful tools. You can also experiment with the code provided and hence, gain a higher understanding of how things work. This course is perfect for anyone willing to fully grasp C++ and use it to its full potential. Welcome aboard!
C++ is one of the most prominent programming languages in the world. Along with optimized performance, the diverse functionality...Show More
Content
1.
Introduction
5 Lessons
Get familiar with the C++ Standard Library, key conventions, source examples, and C++11 enhancements.
2.
The Standard Library
3 Lessons
Look at the evolution of the C++ Standard Library, key utility libraries, and STL components.
3.
Overview
4 Lessons
Examine C++ libraries for numeric functions, text processing, I/O, filesystems, and multithreading.
4.
Application of Libraries
4 Lessons
Enhance your skills in utilizing C++ libraries, from including headers to managing namespaces and building executables.
6.
Useful Functions
4 Lessons
Investigate versatile functions like min, max, move, forward, and swap in C++.
7.
Adaptors for Functions
2 Lessons
Master how to use std::bind and std::function for efficient functional programming.
8.
Pairs and Tuples
2 Lessons
Learn how to use pairs and tuples for effective data grouping and manipulation in C++.
9.
Reference Wrappers
2 Lessons
Walk through using reference wrappers to enable flexible object copying and callable encapsulation in C++.
10.
Smart Pointers
5 Lessons
Examine how smart pointers improve memory management, including unique, shared, and weak pointers.
11.
Type Traits
3 Lessons
Grasp the fundamentals of C++ type traits, compile-time checks, and type modifications for optimized programming.
12.
Time Library
4 Lessons
Take a look at C++'s time library enhancing multithreading with time point, duration, and clocks.
13.
std::any, std::optional, and std::variant
3 Lessons
Follow the process of utilizing std::any, std::optional, and std::variant for type-safe, flexible data handling.
14.
Interface of All Containers
6 Lessons
Build on the fundamental operations and functionalities of sequential and associative containers.
15.
Sequential Containers
6 Lessons
Learn how to use sequential containers in C++ for various data management needs.
16.
Associative Containers
2 Lessons
Look at C++'s versatile associative containers for efficient key-based data retrieval.
17.
Ordered Associative Containers
5 Lessons
Break apart the intricacies of ordered associative containers, their keys, values, and efficient search functions.
18.
Unordered Associative Containers
5 Lessons
Break down the steps to effectively use unordered associative containers in C++ for better performance.
19.
Adaptors for Containers
4 Lessons
Take a closer look at C++ container adaptors: stack, queue, and priority queue.
20.
Iterators
5 Lessons
Follow the process of using C++ iterators for efficient container traversal and manipulation.
21.
Callable Units
3 Lessons
Piece together the parts of callable units like functions, function objects, and lambda functions.
22.
Algorithms
6 Lessons
Try out C++ algorithms, iterators, and execution policies for enhanced performance.
23.
Non-Modifying Algorithms
6 Lessons
Unpack the core of non-modifying algorithms in C++, covering searching, counting, checks, and comparisons.
24.
Modifying Algorithms
11 Lessons
Work your way through various C++ algorithms for modifying, moving, transforming, and managing ranges effectively.
25.
More Algorithms
8 Lessons
Grasp the fundamentals of advanced C++ algorithms, including partitioning, sorting, and numeric operations.
26.
New Algorithms with C++17
2 Lessons
Take a closer look at new C++17 parallel execution algorithms like `reduce` and prefix sums.
27.
Numeric
2 Lessons
Focus on random number generation and inherited numeric functions in C++.
28.
Strings
10 Lessons
Build on C++ string fundamentals, operations, conversions, and advanced manipulation techniques.
29.
String View
4 Lessons
Get familiar with handling string views for efficient, non-owning string manipulations in C++.
30.
Regular Expressions
9 Lessons
Discover the logic behind using C++ regular expressions for text pattern matching, searching, and replacing.
31.
Input and Output Streams
9 Lessons
Work your way through C++ input, output, file, and string stream operations and management.
32.
File Systems
4 Lessons
Break down the steps to manage files and directories using C++ filesystem utilities.
33.
Multithreading
7 Lessons
Take a look at C++ multithreading basics, memory model, atomic data, threads, and synchronization.
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