执行std :: is_class

时间:2014-08-28 12:53:57

标签: c++ c++11

我想知道std::is_classhttp://www.cplusplus.com/reference/type_traits/is_class/)是如何实际实现的。我查看了 / usr / include / c ++ / 4.8 / tr1 / type_traits ,但似乎唯一存在的是:

/// is_class
template<typename _Tp>
  struct is_class
  : public integral_constant<bool, __is_class(_Tp)>
  { };

并且__is_class的定义在任何地方都找不到(或者我看起来不够深)。无论如何,如果有人能指出我在哪里寻找这个(以及is_***命名空间中的其他std)我会很高兴

1 个答案:

答案 0 :(得分:3)

__is_class是gcc编译器提供的C ++扩展。请参阅gcc type traits

  

C ++前端实现了语法扩展,允许编译时确定类型(或一对类型)的各种特征。