On 2021-09-13, Lynn McGuire <
lynnmc...@gmail.com> wrote:
> "C++20 Modules ??? Complete Guide" by ??imon T??th
>
https://itnext.io/c-20-modules-complete-guide-ae741ddbae3d
>
> "Compilers and build systems are slowly starting to support C++20
> modules. Perfect time for you to read this guide and benefit from the
> massive compilation speedups. This article reflects the state as of
> September 2021."
>
Thanks for the link.
I have a couple of quick questions.
In the "module" example we have
#include <iostream>;
Is the semicolon required here? Subtle, hard to spot change if it is!
This statement:
Unexported symbols have private visibility, which is the opposite of
normal C++ behaviour, where only symbols within anonymous namespaces are
unexported.
Has the export of symbols in anonymous namespaces changed? One upon a
time symbols in the anonymous namespaces were exported, but with a
mangled name that couldn't be deduced elsewhere.
I like the "cleanness" of anonymous namespaces over static. But I've
seen places where the sheer volume of exported but unused by the linker
symbols causes problems, especially for tools that, for example, attempt
to check for circular dependencies being introduced.