在C++实例中,字段不会初始化为其默认值.静态字段怎么样
in C++ instance fields are not initialized to their default. How about static fields?
如果我没记错的话,如果我声明一个全局字符数组,它的元素将被初始化为\0。如果我要声明静态全局或静态局部,也是如此。但是静态字段呢?
是的。 在C++术语中,字段称为"数据成员"。
C++03 标准的第 9.4.2.7 段指出"静态数据成员的初始化和销毁与非本地对象完全相同。
第 3.7.1 节 "静态存储持续时间" 指出"所有既没有动态存储持续时间也不是本地的对象都有静态存储持续时间。
第 3.6.2 节 "非本地对象的初始化" 指出"具有静态存储持续时间的对象应在任何其他初始化发生之前进行零初始化。
因此,如果您没有将数据成员显式初始化为其他内容,它将保留其零初始化值。
在初始化方面,静态数据成员的处理方式与全局变量相同。
相关文章:
- 实例化时结构字段中的默认值
- 如何将必需的 protobuf 字段设置为其默认值?
- 使用C 从文本行中提取字段和值
- 如何使用 stl 容器有效地存储对象?(即根据其字段的值进行搜索)
- 为什么 MSVC 和 GCC 不能使用具有默认值的字段初始化结构
- 快速JSON库获取没有名称字段的值
- 在C++实例中,字段不会初始化为其默认值.静态字段怎么样
- 使所有TU已知的静态对象字段的值
- 如何从Qt中的字符串中获取特定字段的值
- 使用指向成员的指针读取 cons 对象的字段的值
- 为结构的字段赋值,也更改其他变量
- 为什么当我尝试检查字段的值时,我得到一个奇怪的答案
- 在 Qt 创建器中禁用 -wmissing 字段初始值设定项警告
- 为结构字段赋值时程序崩溃
- 类中未初始化字段的值
- 将对象字段的值放置在变量中的性能
- 无法设置静态对象字段的值(错误LNK2001:未解析的外部符号)
- 函数接受两个参数,一个字节和一个位字段,并返回字节中字段的值
- 结构可以在方法主体中声明,但前提是它不包含成员字段初始值设定项。编译器错误与否?
- 空的大括号init列表会发出关于缺少字段初始值设定项的警告