NHacker Next
  • new
  • past
  • show
  • ask
  • show
  • jobs
  • submit
C++26 Reflection loves QRangeModel (qt.io)
mcdeltat 13 days ago [-]
I've been an avid C++ user for ages and this is the first time I've seen the final spec of C++26 reflections used in a practical context - and wow am I having a "wtf" moment at the syntax.

^^T ?? obj.[:member:] ?? What is this craziness? No way this is the best we could come up with. I'm actually thinking C++ may be going too far (and this is as someone who thinks template metaprogramming is "fine").

Never before has that quote "inside C++ is a smaller, better language trying to get out" been more applicable.

pjmlp 13 days ago [-]
While I agree it has a certain Perl feeling and I used to advocate for functions/operators, e.g. reflex or similar, it still feels better than unicode operators in FP languages or the two macro systems used by Rust.

At least being based on compile time execution infrastructure means you can debug it on IDEs, Clion already has some work into that direction.

https://blog.jetbrains.com/clion/2025/09/introducing-constex...

psyclobe 12 days ago [-]
Eh, the raw capability of this feature will I think prove its use
themafia 13 days ago [-]
It this even a language for human beings anymore? Or am I just short on cups of coffee this morning?

I appreciate that they're solving a lot of corner cases and adding some advanced functionality in the spec but now we've got language text that looks quite a bit like perl. I wonder if it will acquire some of the same properties.

funkychicken 13 days ago [-]
Most users would not need to use it. But it is invaluable for library/framework authors (like qt).
pjmlp 13 days ago [-]
Until something else takes over the domains where C++ rules, it is what we have, even the crustacean compiler is built on top of C++ infrastructure (LLVM/GCC).
fleshmonad 13 days ago [-]
It's all so tiresome
kvemkon 14 days ago [-]
TLDR:

> Reflection in C++26 might be insufficient for replacing moc.

https://wiki.qt.io/C++_reflection_(P2996)_and_moc

PaulDavisThe1st 14 days ago [-]
> NOTE: THIS HAS BEEN WRITTEN AGAINST A VERY EARLY REVISION OF P2996. MANY THINGS HAVE CHANGED SINCE, AND EVERYTHING ON THIS PAGE NEED TO BE RE-EVALUATED BASED ON WHAT EFFECTIVELY LANDED IN C++26!
kvemkon 13 days ago [-]
Taken from bookmarks, haven't noticed this before. Looking forward for the article update.
Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact
Rendered at 08:25:53 GMT+0000 (Coordinated Universal Time) with Vercel.