Pull to refresh

C++26: Reflection, Memory Safety, Contracts, and a New Async Model (infoq.com)

by birdculture 5 comments 40 points
Read article View on HN

5 comments

[−] HeliumHydride 25d ago
The class(metaclass) {...} syntax is not part of C++ yet. It is part of a proposal targeted for C++29.
[−] nulltrace 25d ago
Right, metaclass is a ways off. But even without it, just the core reflection is going to save a ton of boilerplate. Half the template tricks I've written for message parsing were basically hand-rolling what ^T will just give you.
[−] vsgherzi 25d ago
Very cool stuff, excited to see some progress into memory safety for c++ but jeez. As i understand it, it requires me to do some meta programming to build guards around my program and ensure memory safety? Is that accurate or am I missing the mark here
[−] spacechild1 25d ago
No, it's just that there's now a hardened version of the standard library that does bound checks at runtime.

Compile-time reflection is an entirely different feature and has nothing to do with memory safety.

The article also mentions contracts that can be used to validate pre- and postconditions of function calls.

[−] fithisux 24d ago
I am still wondering if the compiler can become simpler any time soon.