HomeCoursesC++ Standard Library including C++ 14 & C++ 17
AI-powered learning
Save

C++ Standard Library including C++ 14 & C++ 17

Discover C++17's new features and tools to optimize your code. Explore fundamentals and advanced techniques, and gain insights through hands-on coding exercises to master C++.

156 Lessons
12h
Updated 1 month ago
Join 3 million developers at
Join 3 million developers at
LEARNING OBJECTIVES
  • Identify key C++ standard updates from C++98 through C++17 and their impact on the standard library
  • Apply header inclusion, std namespace usage, and linking to build executables using standard libraries
  • Implement resource management with RAII using unique_ptr, shared_ptr, and weak_ptr to avoid leaks and cycles
  • Use type traits and static_assert to perform compile-time checks and enable conditional generic code
  • Select and use STL containers, iterators, and algorithms to manipulate ranges and data structures correctly
  • Apply C++17 utilities (any, optional, variant) to represent flexible, optional, and alternative-typed values
  • Build concurrent code using threads, atomics, mutexes, condition variables, and tasks (futures/promises)

Learning Roadmap

156 Lessons

1.

Introduction

Introduction

Get familiar with the C++ Standard Library, key conventions, source examples, and C++11 enhancements.

2.

The Standard Library

The Standard Library

Look at the evolution of the C++ Standard Library, key utility libraries, and STL components.

3.

Overview

Overview

4 Lessons

4 Lessons

Examine C++ libraries for numeric functions, text processing, I/O, filesystems, and multithreading.

4.

Application of Libraries

Application of Libraries

4 Lessons

4 Lessons

Enhance your skills in utilizing C++ libraries, from including headers to managing namespaces and building executables.

6.

Useful Functions

Useful Functions

4 Lessons

4 Lessons

Investigate versatile functions like min, max, move, forward, and swap in C++.

7.

Adaptors for Functions

Adaptors for Functions

2 Lessons

2 Lessons

Master how to use std::bind and std::function for efficient functional programming.

8.

Pairs and Tuples

Pairs and Tuples

2 Lessons

2 Lessons

Learn how to use pairs and tuples for effective data grouping and manipulation in C++.

9.

Reference Wrappers

Reference Wrappers

2 Lessons

2 Lessons

Walk through using reference wrappers to enable flexible object copying and callable encapsulation in C++.

10.

Smart Pointers

Smart Pointers

5 Lessons

5 Lessons

Examine how smart pointers improve memory management, including unique, shared, and weak pointers.

11.

Type Traits

Type Traits

3 Lessons

3 Lessons

Grasp the fundamentals of C++ type traits, compile-time checks, and type modifications for optimized programming.

12.

Time Library

Time Library

4 Lessons

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

std::any, std::optional, and std::variant

3 Lessons

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

Interface of All Containers

6 Lessons

6 Lessons

Build on the fundamental operations and functionalities of sequential and associative containers.

15.

Sequential Containers

Sequential Containers

6 Lessons

6 Lessons

Learn how to use sequential containers in C++ for various data management needs.

16.

Associative Containers

Associative Containers

2 Lessons

2 Lessons

Look at C++'s versatile associative containers for efficient key-based data retrieval.

17.

Ordered Associative Containers

Ordered Associative Containers

5 Lessons

5 Lessons

Break apart the intricacies of ordered associative containers, their keys, values, and efficient search functions.

18.

Unordered Associative Containers

Unordered Associative Containers

5 Lessons

5 Lessons

Break down the steps to effectively use unordered associative containers in C++ for better performance.

19.

Adaptors for Containers

Adaptors for Containers

4 Lessons

4 Lessons

Take a closer look at C++ container adaptors: stack, queue, and priority queue.

20.

Iterators

Iterators

5 Lessons

5 Lessons

Follow the process of using C++ iterators for efficient container traversal and manipulation.

21.

Callable Units

Callable Units

3 Lessons

3 Lessons

Piece together the parts of callable units like functions, function objects, and lambda functions.

22.

Algorithms

Algorithms

6 Lessons

6 Lessons

Try out C++ algorithms, iterators, and execution policies for enhanced performance.

23.

Non-Modifying Algorithms

Non-Modifying Algorithms

6 Lessons

6 Lessons

Unpack the core of non-modifying algorithms in C++, covering searching, counting, checks, and comparisons.

24.

Modifying Algorithms

Modifying Algorithms

11 Lessons

11 Lessons

Work your way through various C++ algorithms for modifying, moving, transforming, and managing ranges effectively.

25.

More Algorithms

More Algorithms

8 Lessons

8 Lessons

Grasp the fundamentals of advanced C++ algorithms, including partitioning, sorting, and numeric operations.

26.

New Algorithms with C++17

New Algorithms with C++17

2 Lessons

2 Lessons

Take a closer look at new C++17 parallel execution algorithms like `reduce` and prefix sums.

27.

Numeric

Numeric

2 Lessons

2 Lessons

Focus on random number generation and inherited numeric functions in C++.

28.

Strings

Strings

10 Lessons

10 Lessons

Build on C++ string fundamentals, operations, conversions, and advanced manipulation techniques.

29.

String View

String View

4 Lessons

4 Lessons

Get familiar with handling string views for efficient, non-owning string manipulations in C++.

30.

Regular Expressions

Regular Expressions

9 Lessons

9 Lessons

Discover the logic behind using C++ regular expressions for text pattern matching, searching, and replacing.

31.

Input and Output Streams

Input and Output Streams

9 Lessons

9 Lessons

Work your way through C++ input, output, file, and string stream operations and management.

32.

File Systems

File Systems

4 Lessons

4 Lessons

Break down the steps to manage files and directories using C++ filesystem utilities.

33.

Multithreading

Multithreading

7 Lessons

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.
Fahim Ul HaqC++ Standard Library includingC++ 14 & C++17Founder & CEO
Developed by MAANG Engineers
ABOUT THIS COURSE
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!
ABOUT THE AUTHOR

Rainer Grimm

I’ve worked as a software architect, team lead, and instructor since 1999. I like to write articles on the topics C++, Python, and Haskell in my spare time. I often speak at conferences.

Learn more about Rainer

Trusted by 3 million developers working at companies

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