gpt4 book ai didi

c++ - 隐式字段初始化规则

转载 作者:太空狗 更新时间:2023-10-29 21:05:03 27 4
gpt4 key购买 nike

我最近修复了我的应用程序中的一个错误:问题是驻留在堆栈上的对象有一个字段未初始化。

对象有一个这种类型的类声明:

struct A{
int somefield, someotherfield;
A(): someotherfield(0) {}
}

并且在声明局部变量时(如函数中的 A var;),somefield 未初始化,因此读取它会返回一个随机值。

我确信没有出现在构造函数初始化列表中的类的字段将始终由合成的普通构造函数初始化(在 int 的情况下,值为零)。显然我错了。

那么关于隐式字段初始化的一般规则是什么?

最佳答案

  • 类和结构由构造函数初始化
  • 基本类型 int double char short ... 未初始化且包含随机数
  • 指针未初始化并指向随机位置
  • 类或结构数组导致每个元素由其构造函数初始化
  • 基本类型或指针的数组是随机的。

关于c++ - 隐式字段初始化规则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10878619/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com