【发布时间】:2013-09-28 18:06:31
【问题描述】:
std::has_virtual_destructor 和类似的检查如何实施?我试过在 Visual Studio 中查看 type_traits 标头,但是宏和模板太多,甚至无法理解。这个检查可以用任何相当简单的形式表达吗?我很想至少知道它的工作原理,因为我现在不知道。
【问题讨论】:
-
这是编译器的魔法。您无法在标准 C++ 中实现这一点。 Boost 提供了这个 trait 类,它们使用编译器特定的内在函数。签出this header。
-
@jrok:你确定吗?为什么它不是编译器关键字呢?顺便说一句,我很确定 Boost 在 C++0x 编译器之前就有它。
-
@jrok 任何与魔法不同的技术都不够先进:-)
标签: c++ c++11 typetraits