c++ - C++ 类成员的默认值是什么

标签 c++ class struct default-value

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

最佳答案

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

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

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

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

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

关于c++ - C++ 类成员的默认值是什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2614809/

相关文章:

ios - 从字典数组填充表部分和行

c# 嵌套结构中的数组

c - 函数调用后结构体指针值不会改变

c++ - unique_ptr 链表插入 - 与 operator= 不匹配

jquery - 检查类或名称而不是 ID(简单代码)

c++ - Qt动态显示文本文件

带 View 的 python 类

c# - 类中结构字段的保护级别

c++ - 将日期值分配给字符串(boost c++ 库,posix 时间)

c++ - 链表内存读取错误