Back to All Events
Presenter: Ramses van Zon, SciNet
Modules are source code components with a well-defined interface such that they can be reused in other code without requiring knowledge of the implementation or exposing its internals. In this talk, we will discuss how modules can be supported in C++. We will see that for most of its existance, C++ has had to use the "header file plus object files" paradigm inherited from C to support modules, until proper C++-based modules were introduced in the C++20 standard. Unfortunately, few C++ compilers fully the C++20 modules, and their implementations and usage varies a lot. We will give an overview not only of the issues but also of what is possible with current compilers.