Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Modern C++ Features & Concurrency

Packt via Coursera

Overview

Coursera Flash Sale
40% Off Coursera Plus for 3 Months!
Grab it
Updated in May 2025. This course now features Coursera Coach! A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This course delves into the latest features of Modern C++, with a primary focus on concurrency, C++17 language updates, and powerful tools that enhance code performance and reliability. You will explore the capabilities of C++17, including the introduction of advanced concurrency techniques, templates, and functional programming tools. This comprehensive guide equips you with the knowledge to build efficient, concurrent programs while utilizing the most current features of C++ for maximum performance. The course starts with concurrency basics, introducing the importance of multi-threading and how to implement it using std::thread. You will dive deeper into thread synchronization with std::mutex and learn how to pass arguments to threads. You'll then explore task-based concurrency with std::async, std::future, and std::promise, and learn how to propagate exceptions between threads seamlessly. This will provide you with the tools needed to write scalable, thread-safe applications. As you move into the C++17 core language features, you'll examine the new features, such as inline variables, noexcept, and structured bindings. C++17 also brought mandatory copy elision, and this course will clarify its benefits. You'll gain an understanding of how to leverage these new features to make your code more efficient and readable. The final sections cover advanced template features like Compiled Time Argument Deduction (CTAD), if constexpr, and folding expressions, as well as C++17 standard library additions like std::optional, std::variant, and parallel algorithms. These components empower you to write more flexible, error-free, and high-performance C++ code.

Syllabus

  • C++ Concurrency
    • In this module, we will dive into the core concepts of C++ concurrency, beginning with thread creation and synchronization. You’ll explore various thread management techniques and task-based concurrency, learning how to handle shared data, exceptions, and synchronization across multiple threads.
  • C++17 Core Language Features
    • In this module, we will cover new core language features introduced in C++17, including deprecated features, streamlined syntax, and advanced function tools. You’ll learn how to leverage the latest updates to optimize your code and embrace modern C++ practices.
  • C++17 Template Features
    • In this module, we will explore the latest template features in C++17, from compiled time argument deduction (CTAD) to advanced fold expressions. By the end of this section, you'll be equipped with the tools to optimize templates and reduce complexity in your C++ code.
  • Function Wrappers
    • In this module, we will focus on function wrappers like std::function and std::bind, helping you manage callable objects and callbacks effectively. You will also learn best practices for handling function lifetimes and performance optimizations in C++.
  • C++17 Standard Library Components
    • In this module, we will introduce you to key C++17 standard library components such as std::optional, std::variant, and std::filesystem. You’ll also explore parallel algorithms to enhance performance and practical techniques for managing files and strings in C++17.

Taught by

Packt - Course Instructors

Reviews

Start your review of Modern C++ Features & Concurrency

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.