为什么这个结构不是标准布局?

2024-02-03

一段代码胜过数千字。

#include <iostream>
#include <type_traits>

using namespace std;

struct A
{
    int a;
};

struct B : A
{
    int b;
};

int main()
{
    cout << is_standard_layout<B>::value << endl; // output false! WHY?
    return 0; 
}

来自标准布局类的定义(§9 类,第 7 段)

[...]
* 或者在最远的派生类中没有非静态数据成员并且最多有一个具有非静态数据成员的基类,或者没有具有非静态数据成员的基类,并且
[...]

在您的情况下,最派生的类及其基类都具有非静态数据成员。所以这不是标准布局。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么这个结构不是标准布局? 的相关文章

随机推荐

  • WPF:旋转 2D 矢量

    我想旋转给定的 2D 矢量 是否有 WPF 内置函数可以实现此目的 目前我正在手动执行此操作 Vector v new Vector v X 10 v Y 10 Vector v2 new Vector v2 X v X Math Cos
  • 类型的替代 id 生成器

    In 我的一个项目 https github com skypjack entt 我有一个ID生成器 https github com skypjack entt blob master src entt core family hpp对于
  • Pluck id(整数)转换为字符串 Laravel

    从数据库中提取数据时 我得到id作为字符串 alphabets new Alphabet return alphabets gt pluck name id Output 1 Apple 2 Ball 3 Cat Expected 1 Ap
  • 简单代码导致读取变量时出错:无法访问地址处的内存

    我正在尝试使用支持 python 的 gdbMinGW 构建 http sourceforge net projects mingwbuilds 我遇到了一个错误 这是一段相当简单的代码 在 MSVC 下调试时效果很好 D CppProje
  • Pentaho Kettle中如何实现数据库连接参数验证

    我有一个例子 我得到 X 行数据库名称作为我需要连接的参数 我已成功完成工作和转换 为作为参数给出的每个数据库名称重复表输入步骤 因此 当这些数据库名恰好有效时 这一切都会很好地工作 但是 如果这些名称之一无效 给定名称的数据库不存在 则表
  • MediaPlayer 在单独的线程中与通过 startForeground() 在服务中运行

    所以 我在一个单独的线程中流式传输音乐 如果我离开应用程序 onPause onStop 被呼叫等 音乐继续播放 但最终 在打开其他应用程序并在它们之间切换并返回主屏幕之后 我的应用程序被终止 没有崩溃 只是一个WIN DEATH and
  • 使用 javascript、HTML5 添加注释、文本到视频中的特定帧 [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 是否有任何库支持在视频帧上突出显示特定内容 有点视频编辑 我想在视频帧中放置任何矩形或圆形并提供一些文
  • python中的滚动函数忽略nans

    https pandas pydata org pandas docs version 0 17 0 generated pandas rolling quantile html https pandas pydata org pandas
  • 使用 React.cloneElement 和 render prop 将 ref 传递给类组件

    我正在编写一个处理一些内部的组件state根据一个ref它的子级 例如与该子级的引用相关的鼠标事件 该组件正在使用render prop传递相关部分state给它的孩子 并渲染孩子ref通过附加React cloneElement util
  • 参考数据模式

    与此线程类似 但不完全一样 如何以线程安全的方式缓存信息 https stackoverflow com questions 1048239 how to cache information in a dao in a threadsafe
  • 对声明为友元的类进行单元测试(内部)

    在我的一些测试助手代码中 我有一个IDbSet Of T 实施称为FakeDbSet Of T 它在没有实际数据库的情况下模拟了许多 EF 行为 我已经宣布了班级Friend因为我想强制所有代码像交互一样与它交互IDbSet Of T 内部
  • 使用 css 打印模式下每页的页眉和页脚

    我有一个网络应用程序 它有一个可能超过一页的报告 我想在每一页中打印页眉和页脚 我找到并尝试这个 在每页中重复报告标题 https www servoyforge net boards 2 topics 215 r 220 message
  • 使用 dplyr 从分组 data.frame 中以组级汇总统计数据为条件进行行采样

    In 这篇文章关于对采样行数下限的比例进行采样 https stackoverflow com questions 74176819 sample a percentage of entries in a dataframe but wit
  • jquery 选择两个非兄弟元素之间的元素

    我已经删除了属性 但它是一些自动生成的 HTML img class p div hello world p font font size 2 text img class p some text font font p img class
  • 新 EC2 实例 putty 上的连接被拒绝

    我已根据从现有服务器生成的 AMI 在 EC2 上创建了一个服务器实例 创建过程中一切顺利 我为新服务器指定了与旧服务器相同的密钥 但是 当我尝试通过 putty 连接到新服务器时 我收到一条 连接被拒绝 消息 另外 尽管我选择了允许 IC
  • 如何将新函数插入我的 R 包中?

    我使用这些在 R 中制作了一个包指示 http web mit edu insong www pdf rpackage instructions pdf 我使用 RStudio 我想向包中添加一个新函数 我是否只需将函数放入 R 脚本中并将
  • Doctrine2:多态查询:搜索子类的属性

    我有一个处理客户订单的项目 其中一些订单是通过亚马逊网站订购的 所以我有一个 Order 实体和一个扩展它的 AmazonOrder 实体 AmazonOrder 添加的一件事是 AmazonOrderId 我需要实现广泛的搜索功能 用户可
  • PathTooLongException Xamarin Droid 项目

    我创建了一个具有长路径的 Xamarin Forms 项目 在构建它时出现此错误 System IO PathTooLongException 指定的路径 文件名或两者都太长 完全限定的文件名必须少于 260 个字符 目录名必须少于 248
  • 使用 argparse 解析布尔值

    我想使用 argparse 来解析写为 foo True 或 foo False 的布尔命令行参数 例如 my program my boolean flag False 但是 以下测试代码并没有达到我想要的效果 import argpar
  • 为什么这个结构不是标准布局?

    一段代码胜过数千字 include