Type-Safe Interfaces with Modern C++
Course
Online
Description
-
Type
Course
-
Methodology
Online
-
Start date
Different dates available
Master the art of development with Modern C++ type system.In this course we’ll learn how to write correct, safe, and performant code by making use of C++’s type system. Firstly, we’ll learn about the Standard Library’s “algebraic data types” and how they can increase safety, performance, and readability of your application/library. We’ll then look at function interfaces. As an example, writing a function that takes a string in such a way that it performs optimally with both std::string and const char* seems like a daunting task. It gets even more tricky with functions taking other functions as input. Is it possible to generalize these issues and provide the “perfect” interface?About the AuthorVittorio Romeo is a Software Engineer at Bloomberg LP. He completed his Bachelor's degree in Computer Science at "Università degli Studi di Messina".
He began programming at a very young age and is now a C++ enthusiast. While following the evolution of the C++ standard and embracing the newest features, he worked on several open-source projects, including modern general-purpose libraries and free cross-platform games.
Vittorio is an active member of the C++ community: he participated as a speaker at CppCon 2014/2015/2016, ++it Florence 2015 and at his local Linux Day 2013/2014 events, as a Student/Volunteer at C++Now 2015/2016, at Meeting C++ 2015/2016.
He currently maintains a C++-related blog and a YouTube channel featuring well-received modern C++11 and C++14 tutorials.
When he's not writing code, Vittorio enjoys weightlifting and fitness-related activities, competitive/challenging computer gaming and good sci-fi movies/TV-series.
Facilities
Location
Start date
Start date
About this course
Use type system to your advantage
Create safe, rich and expressive interfaces
Use Pattern matching to implement metaprogramming
Real world scenarios to tackle programming tasks
Reviews
This centre's achievements
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 4 years
Subjects
- Construction Training
- Writing
- Construction
- Programming
- Programme Planning
- Programming Application
- Internet
- Information Systems
- Information Systems management
- Management
Course programme
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- What a variant represents
- std::variant interface and usage
- Example of use cases
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- What a variant represents
- std::variant interface and usage
- Example of use cases
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- `struct` ? `enum class` ? `variant` progression
- Product and sum types
- Variants versus unions
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn Construction and solve an assignment
- Understand checking an active alternative
- Explore accessing an active alternative
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn the definition of visitations
- std::visit with struct and generic lambda
- Understand the shortcomings of std::visit
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- Learn type-safe error handling
- Understand state machines
- Explore recursive data structures
- What a variant represents
- std::variant interface and usage
- Example of use cases
- What a variant represents
- std::variant interface and usage
- Example of use cases
- What a variant represents
- std::variant interface and usage
- Example of use cases
- What a variant represents
- std::variant interface and usage
- Example of use cases
- What a variant represents
- std::variant interface and usage
- Example of use cases
- What a variant represents
- std::variant interface and usage
- Example of use cases
Additional information
Type-Safe Interfaces with Modern C++