类型特征很酷,自从几年前它们起源于 boost 以来,我就一直在使用它们。但是,当您查看它们的实现时(查看“如何is_base_of
工作?” StackOverflow 线程)。
为什么编译器在这里没有帮助?例如,如果你想检查某个类是否是另一个类的基础,编译器已经知道了,为什么不能告诉我们呢?这将使概念之类的东西更容易实现和使用。你可以在那里使用语言结构。
我不确定,但我猜它会提高整体性能。这就像向编译器寻求帮助,而不是 C++ 语言。
我怀疑主要原因听起来像是“我们需要保持向后兼容性”,我同意,但是为什么编译器不会更积极地生成通用模板代码呢?