<type_traits>头文件中的某些实现在哪里?

建元

我在<type_traits>头文件中看到了一些实现,但是找不到一些实现,例如:

// STRUCT TEMPLATE is_class
template <class _Ty>
struct is_class : bool_constant<__is_class(_Ty)> {}; // determine whether _Ty is a class

template <class _Ty>
_INLINE_VAR constexpr bool is_class_v = __is_class(_Ty);

我想知道__is_class的实现。有人知道实现在哪里吗?我使用名为Visual Studio 2019的IDE。

山姆·瓦尔沙夫奇克

这些符号指的是保留的内置令牌,这些令牌由编译器本身识别和评估编译器知道什么__is_class意思,对给定类型进行评估,然后使用评估结果。

碰巧的是,gcc在这里很好地记录了其内置符号(这是针对gcc 10.2,其他版本的gcc具有几乎相同的页面)。编辑:这是VS的同一页面-从外观上几乎是一样的东西。

在该页面上,您会偶然发现__is_class为gcc定义函数。其他编译器倾向于使事情以相同的方式工作,也许只是符号本身的名称有所不同。

总而言之,您将找不到__is_class在任何头文件中正式定义的和。这些功能,类等。被烘焙到编译器本身。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

没有编译器挂钩,哪些<type_traits>无法实现?

来自分类Dev

<type_traits>头文件中的某些实现在哪里?

来自分类Dev

如何使用type_traits生成代码,具体取决于是否存在类专门化?

来自分类Dev

如何使用type_traits或模板功能专门化来巩固模板方法

来自分类Dev

标准容器的type_traits?

来自分类Dev

在哪里包含头文件?

来自分类Dev

为type_traits类创建一个“求反”包装器

来自分类Dev

如何不使用type_traits检查复制构造函数是否为noexcept?

来自分类Dev

使用type_traits检查constness

来自分类Dev

为什么type_traits是类而不是函数

来自分类Dev

头文件如何知道函数原型的实现在哪里?

来自分类Dev

致命错误:在构建clang示例时,找不到'type_traits'文件#include <type_traits>

来自分类Dev

为什么要使用结构实现type_traits

来自分类Dev

如何在C ++ 17中使用type_traits检测具有特定名称和签名的函数(NOT类成员)的存在

来自分类Dev

严重错误:找不到'type_traits'文件-Qt 5.14 Preview Android

来自分类Dev

如何将C ++概念与type_traits配合使用?

来自分类Dev

如何使用type_traits仅在特定类型上添加模板类的成员函数。C ++

来自分类Dev

在哪里以及如何定义成员变量?在头文件或实现文件中?

来自分类Dev

如何使用type_traits或模板功能专门化来巩固模板方法

来自分类Dev

使用C ++ 11 type_traits了解Microsoft的_Is_duration

来自分类Dev

为什么必须使用'typename'和':: type'前缀/后缀来调用所有type_traits类?

来自分类Dev

如何在不使用type_traits的情况下检查复制构造函数是否为noexcept?

来自分类Dev

为什么此type_traits代码给我一个整数到指针的转换警告?

来自分类Dev

包含的C ++ / C头文件的实现在哪里?

来自分类Dev

C ++有没有一种方法可以基于type_traits进行模板重载?

来自分类Dev

std type_traits 与 Qt type_traits 冲突

来自分类Dev

如何在 type_traits 中使用 C++11 std::is_member_object_pointer?

来自分类Dev

如何正确地从函数中给出向量(type_traits)

来自分类Dev

编译器如何定义 type_traits 中的类?

Related 相关文章

  1. 1

    没有编译器挂钩,哪些<type_traits>无法实现?

  2. 2

    <type_traits>头文件中的某些实现在哪里?

  3. 3

    如何使用type_traits生成代码,具体取决于是否存在类专门化?

  4. 4

    如何使用type_traits或模板功能专门化来巩固模板方法

  5. 5

    标准容器的type_traits?

  6. 6

    在哪里包含头文件?

  7. 7

    为type_traits类创建一个“求反”包装器

  8. 8

    如何不使用type_traits检查复制构造函数是否为noexcept?

  9. 9

    使用type_traits检查constness

  10. 10

    为什么type_traits是类而不是函数

  11. 11

    头文件如何知道函数原型的实现在哪里?

  12. 12

    致命错误:在构建clang示例时,找不到'type_traits'文件#include <type_traits>

  13. 13

    为什么要使用结构实现type_traits

  14. 14

    如何在C ++ 17中使用type_traits检测具有特定名称和签名的函数(NOT类成员)的存在

  15. 15

    严重错误:找不到'type_traits'文件-Qt 5.14 Preview Android

  16. 16

    如何将C ++概念与type_traits配合使用?

  17. 17

    如何使用type_traits仅在特定类型上添加模板类的成员函数。C ++

  18. 18

    在哪里以及如何定义成员变量?在头文件或实现文件中?

  19. 19

    如何使用type_traits或模板功能专门化来巩固模板方法

  20. 20

    使用C ++ 11 type_traits了解Microsoft的_Is_duration

  21. 21

    为什么必须使用'typename'和':: type'前缀/后缀来调用所有type_traits类?

  22. 22

    如何在不使用type_traits的情况下检查复制构造函数是否为noexcept?

  23. 23

    为什么此type_traits代码给我一个整数到指针的转换警告?

  24. 24

    包含的C ++ / C头文件的实现在哪里?

  25. 25

    C ++有没有一种方法可以基于type_traits进行模板重载?

  26. 26

    std type_traits 与 Qt type_traits 冲突

  27. 27

    如何在 type_traits 中使用 C++11 std::is_member_object_pointer?

  28. 28

    如何正确地从函数中给出向量(type_traits)

  29. 29

    编译器如何定义 type_traits 中的类?

热门标签

归档