【问题标题】:How is is_standard_layout implemented?is_standard_layout 是如何实现的?
【发布时间】:2017-10-25 21:02:21
【问题描述】:

通常可以使用模板技术实现典型的type_traits

但是我没想到std::is_standard_layout 可以用这些术语来实现。 http://en.cppreference.com/w/cpp/types/is_standard_layout

当我检查gcc 标准库时,我发现它是根据__is_standard_layout(T) 实现的,我在其他任何地方都找不到它的定义。这是一个编译器魔术函数吗?

是否可以显式实现std::is_standard_layout

例如,其中一个条件是它继承自单个类。 这似乎无法在编译时确定。

【问题讨论】:

    标签: c++11 typetraits


    【解决方案1】:

    不,std::is_standard_layout 不是你可以在没有编译器内在函数的情况下实现的。正如您正确指出的那样,它需要的信息比 C++ 类型系统所能表达的更多。

    【讨论】:

      猜你喜欢
      • 2013-04-06
      • 2011-04-26
      • 2015-05-22
      • 2015-04-22
      • 2020-07-31
      • 2011-04-24
      • 2016-04-17
      • 2013-08-23
      • 2014-05-27
      相关资源
      最近更新 更多