反射 TS - 在 C++23 中会出现吗?

23

2
从 https://isocpp.org/std/status 看来 SG7, Compile-time pgmg 23619 TS Reflection Publish? 还没有发布。它也没有被列为当前活动项目。 - Richard Critten
2
“这个功能将在哪个C++版本中得到支持?” - 不确定我们能否告诉您一群人会以某种方式投票的时间。 - StoryTeller - Unslander Monica
2
这样的复杂功能通常需要比最初预期的时间更长才能准备好。有些人会尝试在编译器上实现它,取决于该功能的准备情况(可能在2022年左右),然后决定是否将其包含在C++23中或推迟。然后,您必须等待编译器实现它,包括参考实现和最终版本之间的任何更改。 - Phil1970
3
一些有用的资源可以在https://blogs.gnome.org/jamesh/2017/01/17/experimenting-with-c-reflection/找到。 - Mihai8
2
请记住,COVID-19 对 WG21 的整个影响都很大。不要对在 COVID-19 出现之前认为会在 C++23 中出现的大部分或全部内容抱太高的期望。这是一个世界性事件所带来的不幸现实,而这是无人能够预料到的。 - chris
显示剩余3条评论
1个回答

27

尽管 Reflection TS 已经被正式完成和发布,但与此同时,正在开发一种替代语法,利用像consteval这样的新语言特性将反射信息表达为值,而不是传统模板元编程中的类型。无论如何,TS 作为设计决策的记录以及新设计的参考点还是被发布了,但只要它继续顺利进行,旧版本很少会在任何地方实现。新系统也不太可能在 C++23 之前最终确定,虽然其实验性实现可能会在那个时间左右提供。


1
你有使用 consteval 的替代语法的参考资料吗? - Connor Lawson
5
目前提案是来自 大约一年前 - Davis Herring
@ConnorLawson p1240r2 - Boris Rasin
1
我们得等到C++26 :( https://medium.com/yandex/c-23-is-finalized-here-comes-c-26-1677a9cee5b2 - Jahrenski
@DavisHerring谢谢你的回答。你有更新或最新提议的链接吗?在网上很难找到确切的信息;几年前与一位专家交谈时,似乎这种许多程序员所关注的“简单”反射应用可能陷入了更大的讨论,我担心进展会非常困难。 - TooTone
1
@TooTone:看起来Boris的链接(仍然)是最新的。我认为当明确它不会进入C++23时,它被推迟了,但很快应该会得到更多的审查。 - Davis Herring

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接