Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

A Practical Introduction to C++20's Modules

ACCU Conference via YouTube

Overview

Explore a comprehensive conference talk on C++20's modules, delving into their advantages over header files and practical implementation. Learn about modularity principles, faster compile times, reduced name collisions, and improved code structure. Discover how to use modules with major compilers, restructure projects, and leverage build system support. Gain insights into module names, partitions, global modules, exportable elements, and best practices for transitioning from headers to modules. Understand the theoretical foundations and practical applications of this significant C++20 feature, presented by system architect Hendrik Niemeyer at ACCU 2021.

Syllabus

VIRTUAL EVENT A Practical Introduction to C++20's Modules
Modular Programming Modules separate a program into independent and interchangeable units • Modules hide the actual implementation and possibly data and • A module is not a package
Module Names A number of identifiers joined by does
Modules and Namespaces
Module Partitions
Private Module Fragment • Keep interface and implementation separate without having multiple files • modification of the private module fragment cannot trigger recompilation of importers of the module • Possibly faster incremental buids
Global Module Everything must be attached to a module declared in a module
What Can Be Exported? variables classes, structs, functions, namespaces, template function classes, concepts
Implicit Exports
include and modules including a header in the module purview is not a good idea
Global Module Fragment . Only preprocessor directives allowed • Declarations not used in the named module are discarded and not • Use for headers which rely preprocessor state from the includer
Header Units
Advice for Headers Your own header. Try to convert it into a module including in the global module fragment
Advantages encapsulation and information hiding
Advice Visual Studio users: Use and leam modules with small hobby side projects all others: Wait for compiler and build system support

Taught by

ACCU Conference

Reviews

Start your review of A Practical Introduction to C++20's Modules

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.