C++ 类成员的默认值是多少

2023-12-02

C++ 中结构成员和类成员的默认值是什么,这些规则有何不同(例如,类/结构/基元/等之间)?关于默认值的规则是否存在不同的情况?


在 C++ 中,结构和类在这方面没有区别。他们都被称为只是类别类型.

一般情况下,类类型的成员没有默认值。为了让类成员获得确定性值,它必须是已初始化,这可以通过

  • 成员本身的默认构造函数
  • 封闭类的构造函数初始值设定项列表
  • 为封闭类的对象显式指定初始值设定项(包括值初始化和使用聚合初始值设定项进行初始化)。

此外,所有具有静态存储持续时间的对象在程序启动时都被初始化为零。

除了上述情况之外,类成员再次没有默认值,并且最初将包含不可预测的垃圾值。

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

C++ 类成员的默认值是多少 的相关文章

  • 有没有办法为向量采用内存资源?

    我已经开始在我的项目中使用 pmr allocators 并且我已经看到使用它们带来了很多性能提升和优势 我使用的分配器与我在下面的简单示例中展示的非常相似 include
  • 哪些 iomanip 操纵器具有“粘性”?

    我最近在创建一个stringstream由于我错误地假设std setw 会影响每次插入的字符串流 直到我明确更改它 然而 插入后它总是被取消设置 With timestruct with value of Oct 7 9 04 AM st
  • 更改 Visual Studio 2015 扩展中项目内的文件 ProjectItem 的内容?

    如何更改文件的内容 ProjectItem在给定的范围内Project 我想用字符串替换它的所有内容 这个问题有解决办法吗 我想做一些改变ProjectItem CS 文件 通过使用 VSIX 包 以及我现在看到的唯一一种执行此操作的方法
  • Ruby 解释器嵌入到 C 代码中

    我只是尝试书中的一个简单例子 我有一个 sum rb 文件 class Summer def sum max raise Invalid maximum max if max lt 0 max max max 2 end end 还有一个
  • 根据另一个列表的内容对列表进行排序

    我有一个包含整数列表的列表和另一个包含同时包含整数和字符串的类的列表 我想做的是按字母顺序对列表进行排序 将第一个列表中存在的条目放在前面 这是我的代码和预期输出 using System using System Collections
  • C++ 中的字符串到 LPCWSTR

    我正在尝试从字符串转换为 LPCWSTR 我使用多位 1 例如 LPCWSTR ToLPCWSTR string text LPCWSTR sw LPCWSTR text c str return sw 2 返回中文字符 LPCWSTR T
  • 获取光标相对于控件的位置 - C#

    我想获取鼠标相对于鼠标指针所在控件的位置 这意味着当我将光标置于控件的起点 左上角 时 它应该给出 0 0 我正在使用以下代码 private void panel1 MouseMove object sender MouseEventAr
  • 将 gcov 与 CMake/CDash 结合使用的详细指南?

    我在我的项目中使用 CMake 并设置了 cdash 服务器以进行连续 夜间构建 一切运行良好 通过设置 crontab 我们可以将每小时 每晚的构建 测试结果自动上传到我们的 cdash 服务器 我的下一步是将测试覆盖率报告添加到构建中
  • 如何在单独的类库中管理客户端上下文对象?

    我正在尝试创建一个库 类库 对于共享点 它将拥有所有共享点 dll 来与共享点服务器交互上传文件 文档并创建文档库和文档集 现在这个库可以被使用客户端 例如 Web 应用程序 asp net webform 或 mvc 或控制台应用程序或
  • 为什么long long 2147483647 + 1 = -2147483648? [复制]

    这个问题在这里已经有答案了 为什么这段代码不打印相同的数字 long long a b a 2147483647 1 b 2147483648 printf lld n a printf lld n b 我知道int变量的最大数量是2147
  • 为什么 C# 编译的正则表达式比等效的字符串方法更快?

    每次我必须对字符串执行简单的包含或替换操作 其中我正在搜索的术语是固定值 时 我发现如果我获取示例输入并对其进行一些分析 则使用编译的正则表达式是几乎 总是比使用 String 类中的等效方法更快 我尝试过比较多种方法 hs是要搜索的 干草
  • C++ 静态工厂构造函数

    我正在进行模拟 它需要创建多个相当相似的模型 我的想法是有一个名为 Model 的类并使用静态工厂方法来构造模型 例如 模型 createTriangle or 模型 createFromFile 我从以前的 java 代码中汲取了这个想法
  • Facebook Graph API“/userid/feed”返回空白

    我正在使用 Facebook C SDK 但似乎无法使用 Graph API 获取反馈数据 我已从用户那里获得了以下扩展权限 范围 离线访问 publish stream publish checkins create event read
  • 是否可以从.NET Core中间件检索控制器的操作结果?

    public class UsersController APIControllerBase public UsersController public Client Get return new Client ClientID 1 Las
  • 正则表达式基于组的不同替换?

    所以我对正则表达式比较陌生 并且做了一些练习 我正在玩一个简单的 混淆器 它只是寻找 dot or dot or at or at 不区分大小写 并且在匹配项之前或之后有或没有任意数量的空格 这是针对通常情况的 someemail AT d
  • TypeScript 中 C# 类虚拟成员的等效项

    因此 在 C 中 当我创建模型类和延迟加载内容时 我会执行以下操作 public int User ID get set public int Dept ID get set 然后在我的班级稍远一点的地方 我像这样弹出我的虚拟 public
  • 任何浮点密集型代码是否会在任何基于 x86 的架构中产生位精确的结果?

    我想知道使用浮点运算的 C 或 C 代码是否会在任何基于 x86 的体系结构中产生位精确的结果 无论代码的复杂性如何 据我所知 自 Intel 8087 以来的任何 x86 架构都使用准备处理 IEEE 754 浮点数的 FPU 单元 并且
  • 为什么没有参数的函数(与实际函数定义相比)可以编译?

    我刚刚看到某人的 C 代码 我很困惑为什么要编译它 有两点我不明白 The 函数原型与实际函数定义相比没有参数 中的参数函数定义没有类型 include
  • 从哪里开始阅读 SQLite 源代码? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 我想了解sqlite是如何实现的 并且 想阅读源代码 我已经下载了源代码 我应该开始查看代码的哪一部分 SQLite文档页 http
  • 构建 OpenCV 时出错 :: MonitorFromRect 未在此范围内声明

    我试图建立OpenCV version 2 4 8与它一起使用CodeBlocks and MinGw 我按照以下指示进行操作here http kevinhughes ca tutorials opencv install on wind

随机推荐

  • 在 Gradle 和 Eclipse 的 Checkstyle-plugins 中使用 ${samedir}

    I use a 抑制滤波器在我的 checkstyle 配置中 文件的路径suppression xml相对于 checkstyle configuration 给出 使用 samedir http eclipse cs sourcefor
  • 从列表列表中删除 NULL 元素

    如何从 R 中的列表列表中删除 null 元素 如下所示 lll lt list list NULL list 1 list a 我想要的对象看起来像 lll lt list list 1 list a 我在这里看到了类似的答案 如何从列表
  • 将可执行文件链接到第三方依赖共享库时,C++ CMake 未定义引用

    我读了很多相关主题 例如1 2 3 但我自己没有找到答案 所以我在这里 我有一个可构建且可执行的 CMake 项目 假设为 x 我创建了一个名为 a so 的共享库 它依赖于另一个名为 b so 的共享库 我想在 x 中使用 a 这是我简化
  • 无法从 ASP 计时器滴答事件中找到 ASP Repeater 子控件

    见下图 Scenario 我有一个repeater控制轴承 ID rpt1 在 ItemTemplate 中我有一个量程控制其 ID 为 abc 当前显示的是一个数字 我也有一个ticker above the repeater in fo
  • PHP 中的远程 MySQL 连接

    我开始将软件项目从桌面应用程序迁移到 Web 应用程序 目前我正在使用与其安装的桌面关联的本地 PHP MySQL 连接 我希望解决这个问题 并尝试通过我的 1and1 帐户创建一个 MySQL 数据库 我毫不费力地创建了一个数据库并记录了
  • 如何连接多个CString

    所有函数都返回 CString 这是 MFC 代码 必须以 32 和 64 位进行编译 目前我正在使用 CString sURI GetURL sURI GetMethod sURI sURI GetParameters 存在任何方式可以执
  • 无法启动 weblogic BEA-002606

    我在我的 Mac 机器上运行 Weblogic 10 3 的托管实例 有一天 我尝试启动它 但收到此错误消息
  • SQL多次更新同一行

    我们可以考虑对同一行进行多次更新的必要性的一个示例 create table t c1 int insert into t c1 values 1 insert into t c1 values 2 insert into t c1 val
  • JetBrains Fleet:运行 Flutter 项目

    我正在尝试 JetBrains Fleet 我正在考虑在其中制作一个示例 Flutter 项目 但不知道如何配置run json对于 Flutter 项目 终端命令非常简单 flutter run debug or flutter run
  • 如何使用麻雀图在 wp8 中创建简单的区域系列

    我需要为我的 wp8 应用程序创建一个面积系列图表 所以我决定使用 Sparrow 工具包 但不幸的是 网上似乎确实有任何教程 我只是在研究如何开始它 所以如果有人可以给出基本的解释或给我指出一个像样的教程 那就太好了 如果有人知道更好的工
  • 如何获取隐藏 ID 来删除 jQuery 数据表中的记录

    我的 jQuery 数据表中有 编辑 和 删除 按钮 第一列是记录 ID 列并且是隐藏的 我有 编辑 和 删除 按钮的事件处理程序 我应该使用 DataTable click 和 tr 函数的事件处理程序来获取 id 或者如果使用按钮事件处
  • 错误:Fortran 格式字符串中的格式字符串意外结束

    尝试从 Fortran 77 程序编译复制的代码时出现此错误 code 900 FORMAT 1H0 2X ABSOLUTE GRID LIMITS FOR DATA RETENTION FOR RADAR I3 XMIN XMAX 2F8
  • 动态分配的二维数组

    我正在尝试通过动态分配来构建二维数组 我的问题是 它的第一个维度是否有可能采用 100 个值 然后第二个维度将根据我的问题采用可变数量的值 如果可能的话我将如何访问它 我怎么知道第二维度的边界 见代码中的注释 结果你会得到一个如下所示的数组
  • 使用 GetModuleHandle 获取指向 IMAGE_DOS_HEADER 的指针?

    一旦进程加载到内存中 我就试图获取它的图像库 根据我的理解 您可以调用 GetModuleHandle 来获取图像库 我的问题是 返回的句柄本质上是否指向 IMAGE DOS HEADER 结构 以便您可以执行以下操作 PIMAGE DOS
  • 为什么 Rust Closure 在被调用之前取得所有权

    我正在阅读 Rust 这本书 正在阅读描述闭包的章节 我有点困惑为什么以下示例由于闭包获取所有权而出错 fn main let x vec 1 2 3 let equal to x move z z x println can t use
  • 在内联汇编中访问 C++ 类成员

    问题 如何从非 POD 类中访问程序集中的成员变量 详细说明 我已经为类成员函数编写了一些内联汇编代码 但令我困惑的是如何访问类成员变量 我已经尝试过offsetof宏 但这是一个非 POD 类 我当前使用的解决方案是将全局范围的指针分配给
  • 提供密钥时,Google 静态地图始终返回 403

    如果我在地图请求中提供 API 密钥 我总是会收到 403 Forbidden 响应 无需指定 一切都会顺利 我可以到达地图 问题是我必须使用 API 密钥才能监控使用情况和每用户配额 这是一个例子 http jsfiddle net de
  • MySQL中如何存储科学计数法数字

    我想在 MySql 中存储科学记数法数字 我已将它们保存到具有数据类型的字段中decimal 问题是它以正常表示法存储它 至少当我在 MAMP 附带的 Web 控制台中查看数字时看起来是这样 因此您需要为该字段分配更多字节 我相信这会导致拥
  • WebAPI / Owin - 登录后身份未授权

    我正在使用 WebAPI Owin 3 0 实现简单的登录 密码身份验证 这是我的配置方法 public void ConfigureAuth IAppBuilder app Configure the db context and use
  • C++ 类成员的默认值是多少

    C 中结构成员和类成员的默认值是什么 这些规则有何不同 例如 类 结构 基元 等之间 关于默认值的规则是否存在不同的情况 在 C 中 结构和类在这方面没有区别 他们都被称为只是类别类型 一般情况下 类类型的成员没有默认值 为了让类成员获得确