显式默认构造函数和成员变量的初始化

2024-01-07

我对当一个 ctor 被明确默认时会发生什么感到有点困惑。

下面的两个代码示例是否等效?

有没有什么限制Y能够使用第一个选项吗?

class X
{
public:
    X() = default;

private:
    Y m_y;
};

class X
{
public:
    X() : m_y() {}

private:
    Y m_y;
};

差异可能有两个来源。

  1. X() = default; is not 用户提供的. X() : m_y() {}是。前者可以是trivial;后者绝不是微不足道的。此外,如果X对象已初始化值。

  2. 执行的初始化集X() = default;相当于X() {}, which 默认初始化 m_y. X() : m_y() {} 值初始化 m_y。取决于什么Y是的,这可以是不同的。例如,如果Y is int,那么默认初始化会将其保留为不确定值,而值初始化会将其设置为零。

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

显式默认构造函数和成员变量的初始化 的相关文章

  • 调用 McAfee 病毒扫描引擎

    我收到客户的请求 要求使用他们服务器上的 McAfee 病毒扫描将病毒扫描集成到应用程序中 我做了一些调查 发现 McScan32 dll 是主要的扫描引擎 它导出各种看起来有用的函数 我还发现提到了 McAfee Scan Engine
  • STL 迭代器:前缀增量更快? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中的预增量比后增量快 正确吗 如果是 为什么呢 https stackoverflow com questions 2020184 preincrement faster than postinc
  • 在 xaml 中编写嵌套类型时出现设计时错误

    我创建了一个用户控件 它接受枚举类型并将该枚举的值分配给该用户控件中的 ComboBox 控件 很简单 我在数据模板中使用此用户控件 当出现嵌套类型时 问题就来了 我使用这个符号来指定 EnumType x Type myNamespace
  • 类型中的属性名称必须是唯一的

    我正在使用 Entity Framework 5 并且有以下实体 public class User public Int32 Id get set public String Username get set public virtual
  • std::list 线程push_back、front、pop_front

    std list 线程安全吗 我假设不是这样 所以我添加了自己的同步机制 我认为我有正确的术语 但我仍然遇到问题 每个函数都由单独的线程调用 Thread1 不能等待 它必须尽可能快 std list
  • C++11 删除重写方法

    Preface 这是一个关于最佳实践的问题 涉及 C 11 中引入的删除运算符的新含义 当应用于覆盖继承父类的虚拟方法的子类时 背景 根据标准 引用的第一个用例是明确禁止调用某些类型的函数 否则转换将是隐式的 例如最新版本第 8 4 3 节
  • std::vector 与 std::stack

    有什么区别std vector and std stack 显然 向量可以删除集合中的项目 尽管比列表慢得多 而堆栈被构建为仅后进先出的集合 然而 堆栈对于最终物品操作是否更快 它是链表还是动态重新分配的数组 我找不到关于堆栈的太多信息 但
  • 随着时间的推移,添加到 List 变得非常慢

    我正在解析一个大约有 1000 行的 html 表 我从一个字符串中添加 10 个字符串 td 每行到一个list td
  • free 和 malloc 在 C 中如何工作?

    我试图弄清楚如果我尝试 从中间 释放指针会发生什么 例如 看下面的代码 char ptr char malloc 10 sizeof char for char i 0 i lt 10 i ptr i i 10 ptr ptr ptr pt
  • 如何从本机 C(++) DLL 调用 .NET (C#) 代码?

    我有一个 C app exe 和一个 C my dll my dll NET 项目链接到本机 C DLL mynat dll 外部 C DLL 接口 并且从 C 调用 C DLL 可以正常工作 通过使用 DllImport mynat dl
  • -webkit-box-shadow 与 QtWebKit 模糊?

    当时有什么方法可以实现 webkit box shadow 的工作模糊吗 看完这篇评论错误报告 https bugs webkit org show bug cgi id 23291 我认识到这仍然是一个问题 尽管错误报告被标记为RESOL
  • 如何连接重叠的圆圈?

    我想在视觉上连接两个重叠的圆圈 以便 becomes 我已经有部分圆的方法 但现在我需要知道每个圆的重叠角度有多大 但我不知道该怎么做 有人有主意吗 Phi ArcTan Sqrt 4 R 2 d 2 d HTH Edit 对于两个不同的半
  • 访问外部窗口句柄

    我当前正在处理的程序有问题 这是由于 vista Windows 7 中增强的安全性引起的 特别是 UIPI 它阻止完整性级别较低的窗口与较高完整性级别的窗口 对话 就我而言 我想告诉具有高完整性级别的窗口进入我们的应用程序 它在 XP 或
  • C# 列表通用扩展方法与非通用扩展方法

    这是一个简单的问题 我希望 集合类中有通用和非通用方法 例如List
  • 空指针与 int 等价

    Bjarne 在 C 编程语言 中写道 空指针与整数零不同 但 0 可以用作空指针的指针初始值设定项 这是否意味着 void voidPointer 0 int zero 0 int castPointer reinterpret cast
  • 如何在当前 Visual Studio 主机内的 Visual Studio 扩展中调试使用 Roslyn 编译的代码?

    我有一个 Visual Studio 扩展 它使用 Roslyn 获取当前打开的解决方案中的项目 编译它并从中运行方法 程序员可以修改该项目 我已从当前 VisualStudioWorkspace 成功编译了 Visual Studio 扩
  • 为什么使用小于 32 位的整数?

    我总是喜欢使用最小尺寸的变量 这样效果就很好 但是如果我使用短字节整数而不是整数 并且内存是 32 位字可寻址 这真的会给我带来好处吗 编译器是否会做一些事情来增强内存使用 对于局部变量 它可能没有多大意义 但是在具有数千甚至数百万项的结构
  • 如何实例化 ODataQueryOptions

    我有一个工作 简化 ODataController用下面的方法 public class MyTypeController ODataController HttpGet EnableQuery ODataRoute myTypes pub
  • 有没有办法让 doxygen 自动处理未记录的 C 代码?

    通常它会忽略未记录的 C 文件 但我想测试 Callgraph 功能 例如 您知道在不更改 C 文件的情况下解决此问题的方法吗 设置变量EXTRACT ALL YES在你的 Doxyfile 中
  • C++ 中的参考文献

    我偶尔会在 StackOverflow 上看到代码 询问一些涉及函数的重载歧义 例如 void foo int param 我的问题是 为什么会出现这种情况 或者更确切地说 你什么时候会有 对参考的参考 这与普通的旧参考有何不同 我从未在现

随机推荐

  • 在android中制作按钮的按下效果

    我创建了一个android应用程序 它动态创建50个按钮 效果很好 但问题是当我动态地为这些按钮添加一些背景颜色时 按钮的按下效果会丢失 谁能告诉我一些保留按钮点击按下效果的解决方案我的代码如下所示 my Android平台是2 3 3 i
  • 流星 / JS 日期

    所以我试图在流星中制作一个时间表应用程序 创建项目并添加时间条目 为什么 这是我能想到的所有测试应用程序 但是 我更习惯于处理 PHP 在 PHP 中我只会存储一个带有时间长度的日期字段 现在 我想知道在 Meteor 中处理日期的最佳方式
  • ElasticSearch进入“只读”模式,节点无法更改

    晚上我的 ES 集群 由 5 个数据节点 3 个主节点组成 发生了一些事情 我不知道发生了什么 但所有索引和数据都被删除 集群进入 只读 模式 可能被黑客攻击了 When trying to get Kibana running I get
  • python:从html获取图像链接

    来自这样的 html rss 片段 div class div p a href alt src http link to image width a span 我想获取图像源链接 http link to image jpg 我怎样才能在
  • jQuery 中窗口调整大小事件触发两次

    我运行了下面的代码 document ready function var ivar 0 window resize function console log window height window height ivar 每当我调整大小
  • 是removeFromSuperview释放了对象吗?

    我在用removeFromSuperview用于从其超级视图中删除视图 我也在使用release after removeFromSuperview在该对象上 有时它工作正常 但有时会提供错误的访问权限 is removeFromSuper
  • BigCommerce webhook 未触发

    我能够成功为我的 BigCommerce 商店设置 Webhook 但是 我没有收到商店的任何请求 当我创建 webhook 时 我收到了以下响应 这让我认为它工作正常 id 437 client id dagb0rxpdd2o3znkeb
  • I18n 停止工作

    我总是使用这个脚本来编译 django po 并且它总是有效 bin sh django admin py makemessages a django admin py compilemessages 突然它停止工作 并出现以下错误 i18
  • Windows Phone 模拟器需要缺少 Hyper-V

    我是 Windows Phone 8 的初学者 我安装了 Windows Phone 8 SDK 当我启动模拟器时 出现此错误消息 Windows Phone 模拟器需要 Hyper V 您的 PC 缺少 运行 Hyper V 需要以下先决
  • 在我的混合模型上使用 lme4 预测函数时遇到问题

    我在尝试在混合模型上使用 lme4 预测函数时遇到了一些困难 在进行预测时 我希望能够将一些解释变量设置为指定水平 但对其他变量进行平均 以下是一些虚构的数据 它们是我的原始数据集的简化版 无意义版本 a lt data frame TLR
  • 设置自定义对话框的内容描述

    我怎样才能设置contentDescription当我的对话框打开时由辅助服务读取 我目前正在使用具有自定义布局的对话框来显示阻塞的加载屏幕和语音contentDescription是 警报 在这种情况下不合适 谢谢 您可以创建子类Dial
  • 从初始化列表转换为“A”将使用显式构造函数“A::A(int)”

    我正在尝试将旧的 C 03 代码库迁移到 C 11 但我无法理解 gcc 在以下情况下警告我的内容 g std c 03 t cxx g std c 11 t cxx t cxx In function int main t cxx 8 2
  • Android Studio 中的 JNI 文件夹

    我正在尝试在 Android Studio 中制作 helloy jni 应用程序 但有例外 06 27 13 17 19 099 12714 12714 com example testjni2 E AndroidRuntime FATA
  • 如何使用 WebClient 以编程方式登录到诸如 codeproject 或 stackoverflow 之类的网站?

    我想从服务器登录 stackoverflow 或 codeproject 等网站 有什么方法可以使用登录到这样的网站WebClient class http code google com p stackexchange api http
  • jqgrid中如何将一个单元格分成2个?

    可以通过 jqgrid 获得此类设计 S N0 order ID Date Amount Location Status 1 45 1 1 11 100 E123 Done
  • 数据库列类型前缀

    我已经开发数据库解决方案超过 11 年了 似乎我已经 开发 了一个关于命名表中列的相当有争议的观点 我总是给它们一个 3 或 4 个字符的类型前缀 即 intGroupID nvcTitle dtmCreated bitPlayerHate
  • 从陀螺仪数据中找到四元数?

    我一直在尝试构建一个可以成功结合指南针 地磁和陀螺仪数据的过滤器 以产生流畅的增强现实体验 看完之后this https stackoverflow com questions 1586658 combine gyroscope and a
  • R使用XLSX包编写excel文件需要很长时间并且错误

    mydata 数据框有 128 000 行 当我将其写入 xlsx 文件时 它会继续运行 当我停止它时 会收到错误 write xlsx x mydata file myfile xlsx sheetName Sheet1 row name
  • ImportError:无法导入适用于 Python 的 Cloud Firestore 库

    尝试在 python 服务器上集成 Google firestore API File home daffolap 355 repos subscriptions appvendor firebase admin firestore py
  • 显式默认构造函数和成员变量的初始化

    我对当一个 ctor 被明确默认时会发生什么感到有点困惑 下面的两个代码示例是否等效 有没有什么限制Y能够使用第一个选项吗 class X public X default private Y m y class X public X m