HomeCoursesC++ Fundamentals for Professionals
AI-powered learning
Save

C++ Fundamentals for Professionals

Gain insights into professional C++ with essential C++17 standards. Learn about memory management, inheritance, templates, threads, and more to optimize performance and ensure high safety.

4.7
321 Lessons
23h
Join 2.9 million developers at
Join 2.9 million developers at

Learning Roadmap

321 Lessons

2.

Literals

Literals

Look at literals in C++, including user-defined types, practical examples, and exercises.

3.

Types

Types

6 Lessons

6 Lessons

Examine scoped enumerations, pointers, null pointer, and references in C++.

4.

Automatic Type Deduction

Automatic Type Deduction

10 Lessons

10 Lessons

Enhance your skills in automatic type deduction, `auto` and `decltype`, and return type inference.

5.

Casts

Casts

6 Lessons

6 Lessons

Dig into explicit casting operators, dynamic casting, static casting, const and reinterpret casting in C++.

6.

Unified Initialization

Unified Initialization

4 Lessons

4 Lessons

Tackle unified initialization in C++ with {}, examples, and exercises on standard containers.

7.

const, constexpr, and volatile

const, constexpr, and volatile

5 Lessons

5 Lessons

Build on using `const`, `constexpr`, and `volatile` for efficient, safe, and adaptable C++ code.

8.

Move Semantic and Perfect Forwarding

Move Semantic and Perfect Forwarding

11 Lessons

11 Lessons

Sharpen your skills in C++ move semantics, copy vs. move, and perfect forwarding.

9.

Memory Management

Memory Management

5 Lessons

5 Lessons

Look at explicit memory management, RAII principles, and overloading new/delete in C++.

10.

Functions

Functions

7 Lessons

7 Lessons

Master the steps to function declarations, overloading, and lambda functions in C++.

11.

Classes and Objects

Classes and Objects

27 Lessons

27 Lessons

Grasp the fundamentals of creating and managing classes and objects in C++.

12.

Inheritance

Inheritance

20 Lessons

20 Lessons

Explore inheritance, abstract base classes, access rights, constructor inheritance, virtual methods, and multiple inheritance in C++.

13.

Templates

Templates

32 Lessons

32 Lessons

Focus on C++ templates for functions, classes, parameters, specialization, and CRTP, enhancing flexibility and code reuse.

14.

Utilities

Utilities

13 Lessons

13 Lessons

Build on C++ utilities covering std::bind, lambda, pairs, tuples, reference wrappers, and type traits.

15.

Smart Pointers

Smart Pointers

13 Lessons

13 Lessons

Learn how to use smart pointers in C++ for efficient memory management and resource handling.

16.

1. Containers in General

1. Containers in General

6 Lessons

6 Lessons

Look at container operations: creation, size determination, element access, assignment, and comparison in C++.

17.

1.1 Sequential Containers

1.1 Sequential Containers

11 Lessons

11 Lessons

Examine C++ sequential containers, their functionalities, advantages, and efficient memory usage.

18.

1.2 Associative Containers in General

1.2 Associative Containers in General

2 Lessons

2 Lessons

Grasp the fundamentals of C++ associative containers, including insertion and deletion mechanisms.

19.

1.2.1 Ordered Associative Containers

1.2.1 Ordered Associative Containers

6 Lessons

6 Lessons

Take a closer look at C++ ordered associative containers, their keys, comparison criteria, and special search functions.

20.

1.2.2 Unordered Associative Containers

1.2.2 Unordered Associative Containers

7 Lessons

7 Lessons

See how unordered associative containers enhance performance using hash functions in C++.

21.

1. Algorithms

1. Algorithms

5 Lessons

5 Lessons

Approach using STL algorithms and conventions to efficiently manipulate container elements.

22.

1.1 Non-Modifying Algorithms

1.1 Non-Modifying Algorithms

6 Lessons

6 Lessons

Step through non-modifying algorithms for searching, counting, testing, and comparing ranges in C++.

23.

1.2 Modifying Algorithms

1.2 Modifying Algorithms

11 Lessons

11 Lessons

Unpack the core of modifying algorithms to copy, replace, remove, fill, generate, move, swap, transform, reverse, rotate, shuffle, and remove duplicates.

24.

1.3 More Algorithms

1.3 More Algorithms

10 Lessons

10 Lessons

Break apart advanced algorithms for sorting, searching, merging, and numeric operations in C++.

25.

Callables

Callables

3 Lessons

3 Lessons

Grasp the fundamentals of callables in C++, including functions, function objects, and lambda functions.

26.

Iterators

Iterators

5 Lessons

5 Lessons

Solve problems in C++ using iterators for efficient container navigation and modification.

27.

Strings

Strings

12 Lessons

12 Lessons

See how it works with creating, manipulating, and efficiently managing C++ string operations.

28.

Regular Expressions

Regular Expressions

13 Lessons

13 Lessons

Master regular expressions in C++ for text processing, pattern matching, replacing, and formatting.

29.

Input and Output

Input and Output

14 Lessons

14 Lessons

Learn how to use C++ streams for efficient I/O, file handling, and data formatting.

30.

Threads

Threads

11 Lessons

11 Lessons

Discover the logic behind C++ threading, from creation to managing thread lifetimes and synchronization.

31.

Shared Data

Shared Data

16 Lessons

16 Lessons

Master the steps to handle shared data, mutexes, locks, and thread-safe initialization in C++.

32.

Tasks

Tasks

15 Lessons

15 Lessons

Enhance your skills in asynchronous tasks, std::async, std::packaged_task, promises, and futures.
Certificate of Completion
Showcase your accomplishment by sharing your certificate of completion.
Author NameC++ Fundamentals for Professionals
Developed by MAANG Engineers
ABOUT THIS COURSE
C++ is a common first choice for software developers when optimal performance and high safety are necessary. Learning the rich core language and the many libraries, however, can be a neverending story. This course has one goal: ending that story. This course is a combination of new material and material pulled from my other C++ courses, giving you all the most crucial information in one place. You will learn the necessary information you need to be a professional C++ programmer, including the current C++17 standard. You’ll explore memory management, inheritance, templates, vectors, threads, tasks, and much more. Once you're done, you’ll have all the necessary skills to take advantage of the potential of C++ in your day-to-day work.
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 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

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