KEYNOTE: Thoughts on Metaclasses

By Herb Sutter

Will C++ continue growing forever? Can C++ code be simplified? The current C++ reflection proposals are game-changers in themselves, but talk assumes them and asks the question: What could be the next step beyond that, that is enabled once we have reflection? Can it help us to simplify future C++ code? progress more future C++ language feature proposals as just ordinary libraries instead without always requiring a new compiler? replace widely-used but nonportable vendor extensions? … or perhaps all of the above?

This is a brand-new talk of material I’ve never given before, in which I’ll present one of potential future proposals I’m personally working on to further improve C++ post-C++17, all of which follow a common theme – adding a strategic language and/or library feature to C++ that leads to significant, and sometimes dramatic, simplification of real-world C++ code.