C++20 Update for C++ Developers
Description
A three-day instructor-led course covers the new features in C++20 language and standard library. C++20 is a major update to the language and includes new additions like immediate functions, concepts, coroutines and modules and also enhancements to existing language features like lambdas and constexpr virtual functions. With C++20 the language becomes more powerful and capable and enables writing more correct and efficient code.
Intended audience
C++ Developers with experience in C++11/C++17 standards
▼Expand All
-
Core Language
-
Basics
-
Deprecation of inconsistent arithmetic conversion on enumerations
-
Consistency improvements for comparisons
-
char8_t and UTF-8
-
Signed integers and 2’s complement
-
Consistent bitwise shift operators
-
Array size deduction in new-expressions
-
Using enum
-
Nested inline namespaces
-
-
Compile Time
-
constinit
-
Enhancements to constexpr: virtual, try, allocations,
-
consteval and immediate functions
-
-
Range-based for loop with initializer
-
[[no_unique_address]] attribute
-
[[likely]] and [[unlikely]] attributes
-
Class Related
-
Aggregates
-
Aggregate designated initializers
-
Default member initializers for bit-fields
-
Initializing aggregates from a parenthesized list of values
-
-
Uniform Initialization semantics and preventing accidental aggregates
-
Conditionally Trivial Special Member Functions
-
Class-specific destroying deallocation functions
-
Default comparison operators
-
3-way comparison operator (spaceship operator)
-
Conditionally explicit specifier
-
-
Template Related
-
Abbreviated function template
-
Relaxed requirements for typename with dependent names
-
Non-type template parameter using float and literal class types
-
-
Lambda Expression Enhancements
-
Familiar template syntax for generic lambdas
-
Lambda expressions init-capture and template pack expansion
-
Explicit by value capture of this and deprecating implicit capture of this by value
-
Default construction and assigning
-
-
Constraints
-
Requirements
-
Require clause
-
-
Concepts
-
Defining Concepts
-
Standard library Concepts
-
Constrained auto declaration
-
-
Coroutines
-
Execution model and compiler transformations
-
Promise
-
co_yield, co_redturn and co_await
-
Generator
-
-
Modules
-
-
Standard Library
-
Formatting Library
-
Threading
-
Floating point atomics
-
shared_ptr atomics
-
std::barrier
-
std::latch
-
std::counting_semaphore
-
std::jthread and cancelation classes
-
-
Ranges Library
-
- Experience in programming with modern C++ is a must.
- Experience with C++17 is preferable.
- Become versed in C++20 language features and core standard library facilities new in C++20
- The participants will understand the new additions to the language.
- The participants will understand the purpose and optimal usage of new library additions.
- The participants will be able to understand the internal workings of coroutines.
- The participants will be able to use the new module system.
- The participants will be able to use the new synchronization facilities.
Contact Us
03-6176666
03-6176677
info@sela.co.il
SEND
Related Courses