HOME > Development > C++ 20 (2a) New Features

C++ 20 (2a) New Features

  • Development
  • Dec 14, 2024
SynopsisC++ 20 (2a New Features, available at $39.99, has an average...
C++ 20 (2a) New Features  No.1

C++ 20 (2a) New Features, available at $39.99, has an average rating of 3.3, with 40 lectures, 9 quizzes, based on 22 reviews, and has 126 subscribers.

You will learn about Migrate a project on older versions of C++ to C++20/C++2a Code more efficiently with string and numbers New and better ways to work with string formatting using the new std::format in C++20/C++2a Implement the new comparison operator on the core language and use a custom example in user-defined types Discover newly improved synchronization and thread coordination, including support for efficient atomic waiting, lock-free integral types, and more Use concepts to perform compile-time validation of template arguments and perform function dispatches based on type properties This course is ideal for individuals who are This course is ideal for developers who are already proficient in C++ (previous versions) and want to get up-to-date with the latest C++20/C++2a version and its features and benefits. It is particularly useful for This course is ideal for developers who are already proficient in C++ (previous versions) and want to get up-to-date with the latest C++20/C++2a version and its features and benefits.

Enroll now: C++ 20 (2a) New Features

Summary

Title: C++ 20 (2a) New Features

Price: $39.99

Average Rating: 3.3

Number of Lectures: 40

Number of Quizzes: 9

Number of Published Lectures: 40

Number of Published Quizzes: 9

Number of Curriculum Items: 49

Number of Published Curriculum Objects: 49

Original Price: $109.99

Quality Status: approved

Status: Live

What You Will Learn

  • Migrate a project on older versions of C++ to C++20/C++2a
  • Code more efficiently with string and numbers
  • New and better ways to work with string formatting using the new std::format in C++20/C++2a
  • Implement the new comparison operator on the core language and use a custom example in user-defined types
  • Discover newly improved synchronization and thread coordination, including support for efficient atomic waiting, lock-free integral types, and more
  • Use concepts to perform compile-time validation of template arguments and perform function dispatches based on type properties
  • Who Should Attend

  • This course is ideal for developers who are already proficient in C++ (previous versions) and want to get up-to-date with the latest C++20/C++2a version and its features and benefits.
  • Target Audiences

  • This course is ideal for developers who are already proficient in C++ (previous versions) and want to get up-to-date with the latest C++20/C++2a version and its features and benefits.
  • C++ is popular for its incredible performance and suitability for operating systems, games, embedded software, and more. This course gets you up-to-date with the very latest components in C++20/C++2a so you can harness its new enhancements and get ahead of the game by leveraging its features!

    We cover what C++20/C++2a is and the current standardization status. We also discover some new syntactic sugars that enable you to write shorter but more powerful code. You’ll learn about the new and improved ranges and iterators, explore key examples of filter stacking, and learn how ranges simplify iterator-heavy code. Crucially, you’ll master how to migrate to C++20/C++2a in the easiest possible way, and why you should!

    C++20/C++2a brings new features to the synchronization library, including atomic smart pointers, latchers, and barriers. We review its all-new coroutines (a major concept found in other leading programming languages that simplifies writing code for parallel execution).

    By the end of the course, you’ll use up-to-date insights into the full features of C++20/C++2a to facilitate efficient and fast coding within your own projects.

    About the Author

    Daniel Zawadzki is a software developer with 15 years’ experience. His career has mostly focused on embedded development for various devices such as phones, set-top boxes, and mobile telephony base stations, though he did make a slight detour into investment banking along the way. His language of choice (he has over 5 years’ experience with it) is C++ because of its efficiency and predictable resource usage. Currently, his interests revolve around the architecture of distributed systems. He lives in Wroc?aw, Poland.

    Course Curriculum

    Chapter 1: Getting Started with C++20

    Lecture 1: The Course Overview

    Lecture 2: Standardization Process of C++20

    Lecture 3: Migrating to C++20

    Lecture 4: How to Build Examples

    Chapter 2: String Formatting Using New std::format

    Lecture 1: Rationale for std::format

    Lecture 2: std::format: Placeholders and Syntax

    Lecture 3: std::format_to and std::format_to_n

    Lecture 4: Formatting User Defined Types

    Lecture 5: Migrating Stdio and Iostreams to std::format

    Chapter 3: Ranges – Iterators Reinvented

    Lecture 1: Rationale for Ranges

    Lecture 2: What’s New in Ranges

    Lecture 3: Using Ranges

    Lecture 4: Composing Ranges

    Chapter 4: New Comparison Operator <=>

    Lecture 1: Rationale Behind New Comparison Operator

    Lecture 2: Usage of <=> Operator and How to Make Comparisons

    Lecture 3: Rewriting and Synthetizing Expressions

    Lecture 4: Associated Changes in Operator==

    Lecture 5: Returning Value of the Spaceship Operator

    Chapter 5: Modules

    Lecture 1: Rationale Behind the Modules

    Lecture 2: How to Define a Module

    Lecture 3: Partitioning of Modules

    Lecture 4: Compiling and Linking Modules into an Executable

    Chapter 6: Implementing Concepts

    Lecture 1: Rationale Behind Concepts

    Lecture 2: Concepts as Compile Time Predicates

    Lecture 3: Defining Own Concepts

    Lecture 4: Concepts Library

    Chapter 7: New Synchronization Library Extensions

    Lecture 1: Atomic Smart Pointers

    Lecture 2: Efficient Atomic Waiting

    Lecture 3: Lightweight Access Coordination

    Lecture 4: Latches and Barriers

    Chapter 8: Coroutines

    Lecture 1: The Rationale Behind Coroutines

    Lecture 2: Concept of Splitting Execution State and the Thread of Execution

    Lecture 3: Coroutine Anatomy

    Lecture 4: Generator Expressions

    Lecture 5: Example of Use

    Chapter 9: Other Features and Improvements

    Lecture 1: Using Enum

    Lecture 2: Improvements to Lambda Expressions

    Lecture 3: Designated Initializers

    Lecture 4: constexpr Extensions

    Lecture 5: Course Summary

    Instructors

  • C++ 20 (2a) New Features  No.2
    Packt Publishing
    Tech Knowledge in Motion
  • Rating Distribution

  • 1 stars: 1 votes
  • 2 stars: 2 votes
  • 3 stars: 10 votes
  • 4 stars: 5 votes
  • 5 stars: 4 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!