我必须初始化简单的类成员变量吗? [复制]

2024-04-20

快速初学者问题:

Do I have初始化简单的类成员变量,或者是否保证在任何情况下都为它们分配默认值?

Example:

class Foo {
  int i;
  // is i==0 or do I need the following line for that?
  Foo() : i(0) {}
};

Thanks!


我必须初始化简单的类吗 成员变量,

不,你不have来初始化成员变量。如果您不初始化它们,请不要假设它们有任何值。

如果您制作一个测试程序并在调试器中检查这些值是如何初始化的,您可能会看到它们初始化为零,但这并不能保证。这些值被初始化为该位置堆栈上内存中的任何值。

或者他们能保证被分配吗 无论如何,它们的默认值是什么?

不保证它们会被分配任何值。如果您有成员对象,则会为它们调用默认构造函数,但对于 POD 类型,没有默认初始化。

即使您不必这样做,初始化也是一个很好的做法all类的成员(以避免难以发现错误并明确表示初始化/构造函数调用)。

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

我必须初始化简单的类成员变量吗? [复制] 的相关文章

随机推荐

  • 如何找出 WPF 应用程序中的焦点在哪里?

    我的 WPF 应用程序中有一个搜索屏幕 该屏幕作为 TabControl 的 TabItem 中的 UserControl 实现 当用户切换到 搜索 选项卡时 我希望焦点进入一个特定字段 因此 我向 Xaml 中的 UserControl
  • AKSequencer 计数一或两个小节

    在当前序列开始播放之前需要播放 1 或 2 个小节进行计数 只需点击一下即可计入 能够做类似的事情会很酷 player sequencer setTime MusicTimeStamp 4 将时间设置为0 不起作用 使用 AKSequenc
  • 如何计算scipy中曲线拟合的可能性?

    我有一个非线性模型拟合 如下所示 深色实线是模型拟合 灰色部分是原始数据 问题的简短版本 如何获得该模型拟合的可能性 以便我可以执行对数似然比测试 假设残差服从正态分布 我对统计学比较陌生 我目前的想法是 从曲线拟合中得到残差 并计算残差的
  • YouTube 视频 ID 的最大长度是多少?

    我正在开发一个显示 YouTube 视频的应用程序 我想将视频 id 存储在数据库中 但是因为会有很多视频 我想最小化所需的空间 所以有人知道 youtube 上视频 id 的最大长度吗 几乎可以肯定它会保持在 11 个字符 各个字符来自一
  • 是否可以创建一个不带参数的 C 可变参数函数? [复制]

    这个问题在这里已经有答案了 可能的重复 C 中是否可以有一个没有非可变参数的可变参数函数 https stackoverflow com questions 2622147 is it possible to have a variadic
  • 按渐近增长率对函数排序

    按渐近增长率的非降序列出以下函数 如果两个或多个函数具有相同的渐近增长率 则将它们分组在一起 g1 n n g2 n n 3 4n g3 n 2n log 以 2 为底 n g4 n 2 n g5 n 3 3 log 以 3 为底 n g6
  • 在 JSF 中使用消息束时从验证消息中删除组件 ID

    我正在练习JSF 我创建了一个带有用户 ID 和密码字段的登录屏幕 现在两个输入字段都需要 true 我创建了 message properties 文件并向其中添加了以下验证 ID javax faces component UIInpu
  • Codeigniter:使用 RESTful 服务

    是否有一个易于设置的 Codeigniter REST 库 我可以用它来使用 RESTful 服务 我尝试设置this https github com philsturgeon codeigniter restclient图书馆 但无法设
  • 无法在 macOS High Sierra 上打开 SQL 编辑器

    自从更新到 macOS High Sierra 以来 我一直无法在 MySQL Workbench 上打开 SQL 编辑器 When I try to connect to the database as usual I m given t
  • 如何获取真实的UTC时间戳(与客户端无关)?

    有没有办法获得real当前 UTC 时间戳而不依赖于客户端时间 这可能无法在每个客户端上正确设置 我知道 JavaScript 的getTime 我可以获取以毫秒为单位的 UTC 时间戳 它独立于客户的时区 但我认为它取决于客户的当前时间
  • CoTaskMemAlloc v malloc v AllocHGlobal

    我读过 在 Windows 上 malloc 与 CoTaskMemAlloc 不同 CoTaskMemAlloc 与 AllocHGlobal 不同 对于 C 用户来说 这意味着如果我有一个返回 malloc 指针的 C 函数 我需要对其
  • Android SeekBar 最小和连续浮点值属性

    我正在寻找一种在 SeekBar 中实现最小值的方法 并且还可以选择增加十进制数字 例如 当前我的 SeekBar 的最小值设置为 0 但我需要它从值 0 2 开始 另外 我希望能够让用户以 0 1 的精度选择 0 2 到 10 0 之间的
  • 如何理解Cassandra中的“灵活模式”?

    我是 Cassandra 的新手 可以在下面的维基百科中找到 列族 自 CQL 3 起称为 表 类似于 RDBMS 关系数据库管理系统 中的表 列族包含行和列 每行都由行键唯一标识 每行有多列 每列都有名称 值和时间戳 与 RDBMS 中的
  • 在 Windows 10 和 PHP 7.3 中安装 AMQP

    我想在 Windows 10 中使用 PHP 7 3 安装 AMQP 以便在 symfony 4 中使用 Windows 不使用任何 apache iis nginx 并直接由 symfony 运行 一切还好 直到 我决定在项目中使用rab
  • ggplot2:将面/条文本分割成两行

    考虑以下带有长面 条带文本的 ggplot2 图 断成两行 该文本超出了专门用于分面标题的区域 library ggplot2 x lt c 1 3 1 3 y lt c 3 1 1 3 grp lt c 0 0 0 1 1 1 p lt
  • Javascript:作用域链何时创建?

    我听到过两种说法 当定义函数时 In book Professional Javascript for Web Developers 3rd Edition 在里面Chapter 7 Function Expressions封闭部件 当co
  • 400 错误。需要收件人地址。卷曲

    我将 Gmail API 与curl一起使用 用户 消息 发送 https developers google com gmail api v1 reference users messages send 但我收到错误 400 需要收件人地
  • 寻找最大最小值集合

    我正在尝试编写一个 天真的或半天真的 程序 给定一组元素和许多玩家将其划分为这个数量的玩家 并且对于每个这样的划分取最小值 按总和 子集 然后 我想计算所有这些最小除法的最大值 这被称为https en wikipedia org wiki
  • 回归测试是整个测试套件还是测试样本?

    我被告知回归测试是整体测试的一个小样本 仅足以证明引入更改或新模块时没有破坏任何内容 然而 本文 http www iceincusa com 16csp content 16 smoke smkrgt htm罗恩 莫里森和格雷迪 布奇的著
  • 我必须初始化简单的类成员变量吗? [复制]

    这个问题在这里已经有答案了 快速初学者问题 Do I have初始化简单的类成员变量 或者是否保证在任何情况下都为它们分配默认值 Example class Foo int i is i 0 or do I need the followi