-1

在 c++ 11 TR 之后,我对 c++ 非常感兴趣,我期待 c++1y。我想知道为什么 c++ 的元编程没有添加到它的原生特性中。(我们知道 D 语言有静态 if 并且 D 大量使用它)(我对 D lang 了解不多。我只是听说过。)

C++ 的元编程使用了多年,至少有 8-10 年。但是,元编程可能会导致代码混乱。Boost 有 MPL,但不如 D lang 强大。

我是一个新手大学生,我不能评论这个标准。我只是想知道是否有人告诉委员会至少有一些人需要这个功能?

也许看看 Metatrace,使用了很多元编程(Metatrace 是一个 C++ 编译时光线追踪器): https ://github.com/phresnel/metatrace

4

2 回答 2

2

有许多提议正在考虑为该语言添加额外的元编程工具。“静态如果”是正在考虑的此类功能之一;两篇提出此变体的论文是N3322N3329

于 2013-02-20T22:02:13.653 回答
2

请记住,C++ 的模板元编程大多是偶然发现的。他们在设计它时并没有考虑到图灵完备性,它只是发生了。这就是为什么元编程工具没有更多地融入语言本身的主要原因。

关于静态 if,我相信这是为以后的标准提出的(编辑:请参阅提案文件的其他回复)。随着 C++ 的发展(见 constexpr),C++ 正在慢慢地采用更多的元编程特性,我们希望在适当的时候看到更多。

于 2013-02-20T22:03:04.020 回答