Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
C++ 20 (2a) New Features
Rating: 3.4 out of 5(25 ratings)
128 students

C++ 20 (2a) New Features

Get up to date with what's new in C++
Last updated 2/2020
English

What you'll 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

Course content

9 sections40 lectures2h 18m total length
  • The Course Overview5:07

    This video will give you an overview about the course.

  • Standardization Process of C++201:21

    Examine the standardization process timeline. Check which features are included in the new standard and which are left as a technical specification.

       •  Identify four major features of C++20

       •  Identify important technical specifications

       •  Assess the scope of changes introduced in the new standard

  • Migrating to C++201:58

    Examine compiler support table that shows which language feature is supported by which compiler.

       •  Examine the support for language features

       •  Examine the support for library features

       •  Examine the features that have no support at all

  • How to Build Examples5:15

    Consider problem of building examples using different compilers for each section.

       •  Check how to enable/disable the examples for a section

       •  Build latest GCC from sources

       •  Invoke CMake and make use of the newly compiled GCC

  • Test your knowledge

Requirements

  • For successful completion of this course, students will require the computer systems with at least the following: OS: macOS 10.12.6 Processor: Intel core i5 - 1.5Hz Memory: 4GB Storage: 128GB
  • For an optimal experience with hands-on labs and other practical activities, we recommend the following configuration: OS: macOS 10.13.3 Processor: Intel Core i7 - 2.5GHz Memory: 16GB Storage: 256GB
  • Software Requirements Operating system: Windows, macOS, Linux Browser: Google Chrome, IE Atom IDE, Latest Version C++ 20

Description

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.

Who this course is 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.