C++ 20 (2a) New Features

Course

Online

£ 150 VAT inc.

Description

  • Type

    Course

  • Methodology

    Online

  • Start date

    Different dates available

Get up to date with what's new in C++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.The code bundle for this course is available at: About the AuthorDaniel 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 Wroclaw, Poland.

Facilities

Location

Start date

Online

Start date

Different dates availableEnrolment now open

About this course

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

Questions & Answers

Add your question

Our advisors and other users will be able to reply to you

Who would you like to address this question to?

Fill in your details to get a reply

We will only publish your name and question

Emagister S.L. (data controller) will process your data to carry out promotional activities (via email and/or phone), publish reviews, or manage incidents. You can learn about your rights and manage your preferences in the privacy policy.

Reviews

This centre's achievements

2021

All courses are up to date

The average rating is higher than 3.7

More than 50 reviews in the last 12 months

This centre has featured on Emagister for 6 years

Subjects

  • IDS training
  • Syntax
  • Printing
  • Systems
  • IDS
  • IT
  • Information Systems
  • Programme Planning
  • Programming
  • IT Management

Course programme

Getting Started with C++20 4 lectures 13:42 The Course Overview This video will give you an overview about the course. Standardization Process of C++20 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++20 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 Examples 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
Getting Started with C++20 - Quiz Getting Started with C++20 4 lectures 13:42 The Course Overview This video will give you an overview about the course. Standardization Process of C++20 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++20 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 Examples 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
Getting Started with C++20 - Quiz The Course Overview This video will give you an overview about the course. The Course Overview This video will give you an overview about the course. The Course Overview This video will give you an overview about the course. The Course Overview This video will give you an overview about the course. This video will give you an overview about the course. This video will give you an overview about the course. Standardization Process of C++20 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
Standardization Process of C++20 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
Standardization Process of C++20 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
Standardization Process of C++20 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
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
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++20 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
Migrating to C++20 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
Migrating to C++20 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
Migrating to C++20 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
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
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 Examples 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
How to Build Examples 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
How to Build Examples 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
How to Build Examples 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
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
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
Getting Started with C++20 - Quiz Getting Started with C++20 - Quiz Getting Started with C++20 - Quiz Getting Started with C++20 - Quiz String Formatting Using New std::format 5 lectures 21:36 Rationale for std::format Why new standard formatting? A new library which was type safe, concise, extendable, flexible, and efficient. Available mechanism did not have all these qualities; therefore string formatting library was born using {fmt} library as the foundation.
  • Print a hex number filled with zeros using stdio and iostreams
  • Consider code from previous example, using std::format to achieve the same result
  • Compare std::format to stdio and iostreams. Consider error handling of std::format
std::format: Placeholders and Syntax This video shows formal syntax for formatting library mini language and how to use placeholders and placeholder IDs.
  • Define simple text with integers and switch placeholders using IDs
  • Consider formal syntax of std::format and compare to stdio
  • Consider performance of std::format compared to other IO
std::format_to and std::format_to_n This video explains how std::format_to and std::format_to_n work, and how to safely format text to std::vector and c array.
  • Format text to std::vector using std::back_inserter
  • Format text to std::vector but preallocate memory, by getting the required size using std::formatted size
  • Format text to c array using std::format_to_n
Formatting User Defined Types This video shows how to define formatting for user defined type.
  • Define struct person
  • Define stream insertion operator for person
  • Test printing person object using std::cout and std::format
Migrating Stdio and Iostreams to std::format This video explains how to migrate to new string formatting from stdio or iostreams-based code. It also shows how to get working implementation if it is not yet shipped with the standard library.
  • Consider inc.hpp contants and its usage of {fmt} library
  • Consider changes required to migrate code from iostreams or stdio to std::format
  • Consider how std::format interacts with stdio and iostreams in printing logs
String Formatting Using New std::format - Quiz String Formatting Using New std::format. 5 lectures 21:36 Rationale for std::format Why new standard formatting? A new library which was type safe, concise, extendable, flexible, and efficient. Available mechanism did not have all these qualities; therefore string formatting library was born using {fmt} library as the foundation.
  • Print a hex number filled with zeros using stdio and iostreams
  • Consider code from previous example, using std::format to achieve the same result
  • Compare std::format to stdio and iostreams. Consider error handling of std::format
std::format: Placeholders and Syntax This video shows formal syntax for formatting library mini language and how to use placeholders and placeholder IDs.
  • Define simple text with integers and switch placeholders using IDs
  • Consider formal syntax of std::format and compare to stdio
  • Consider performance of std::format compared to other IO
std::format_to and std::format_to_n This video explains how std::format_to and std::format_to_n work, and how to safely format text to std::vector and c array.
  • Format text to std::vector using std::back_inserter
  • Format text to std::vector but preallocate memory, by getting the required size using std::formatted size
  • Format text to c array using std::format_to_n
Formatting User Defined Types This video shows how to define formatting for user defined type.
  • Define struct person
  • Define stream insertion operator for person
  • Test printing person object using std::cout and std::format
Migrating Stdio and Iostreams to std::format This video explains how to migrate to new string formatting from stdio or iostreams-based code. It also shows how to get working implementation if it is not yet shipped with the standard library.
  • Consider inc.hpp contants and its usage of {fmt} library
  • Consider changes required to migrate code from iostreams or stdio to std::format
  • Consider how std::format interacts with stdio and iostreams in printing logs
String Formatting Using New std::format - Quiz Rationale for std::format Why new standard formatting? A new library which was type safe, concise, extendable, flexible, and efficient. Available mechanism did not have all these qualities; therefore string formatting library was born using {fmt} library as the foundation.
  • Print a hex number filled with zeros using stdio and iostreams
  • Consider code from previous example, using std::format to achieve the same result
  • Compare std::format to stdio and iostreams. Consider error handling of std::format
Rationale for std::format Why new standard formatting? A new library which was type safe, concise, extendable, flexible, and efficient. Available mechanism did not have all these qualities; therefore string formatting library was born using {fmt} library as the foundation.
  • Print a hex number filled with zeros using stdio and iostreams
  • Consider code from previous example, using std::format to achieve the same result
  • Compare std::format to stdio and iostreams. Consider error handling of std::format
Rationale for std::format Why new standard formatting? A new library which was type safe, concise, extendable, flexible, and efficient. Available mechanism did not have all these qualities; therefore string formatting library was born using {fmt} library as the foundation.
  • Print a hex number filled with zeros using stdio and iostreams
  • Consider code from previous example, using std::format to achieve the same result
  • Compare std::format to stdio and iostreams. Consider error handling of std::format
Rationale for std::format Why new standard formatting? A new library which was type safe, concise, extendable, flexible, and efficient. Available mechanism did not have all these qualities; therefore string formatting library was born using {fmt} library as the foundation re resulting code with the code that uses iterators ...

Additional information

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++ 20 (2a) New Features

£ 150 VAT inc.