void_t
是Walter Brown发现的模板,由他在CppCon 2014中首次介绍"Modern Template Metaprogramming: A Compendium, Part II"。它的定义如下:
template <typename ...> using void_t = void;
它的目的是将任何格式良好的类型映射到void类型,它提供了在编译时模板实例化期间检查格式良好的方法。除了提供基于类型,函数,变量或某种类型的成员是否存在的特殊模板, void_t或检查格式良好的其他基本用途是什么?换句话说, void_t
是否有任何其他用途不属于“概念精简”类别,而Walter Brown在CppCon 2014中没有提出这些用途?
PS:关于void_t
的更多信息和解释可以在这些StackOverflow问题下找到: