如何实现 std::has_virtual_destructor
和类似的检查?我试过查看 Visual Studio 中的 type_traits
header ,但宏和模板太多,甚至无法理解。这张支票可以用任何合理简单的形式表示吗?我很想至少知道它的工作原理,因为现在我还不知道。
最佳答案
许多类型特征需要编译器魔法:这些特征本质上为不同编译器提供的一些钩子(Hook)提供了一个库接口(interface)。编译器如何实现这些钩子(Hook)完全取决于它们,并且没有一致的接口(interface)。
在当前的 session 上,讨论了在未来的修订中添加反射(reflection),如果像 std::has_virtual_destructor<T>
这样的特征,最终可能会导致库的实现。 .然而,像反射这样的东西还需要一段时间才能出现。
关于c++ - std::has_virtual_destructor 是如何实现的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070084/