【发布时间】:2020-02-17 03:04:30
【问题描述】:
基于以下代码sn-p:
const int a = 42;
const int b = a;
我们知道对这两个变量都进行了常量初始化,而常量初始化就是静态初始化。
由于未指定静态初始化的顺序(与指定顺序的动态初始化不同),这不会导致未定义的行为,就好像b 的静态初始化发生在a 之前一样,它会是读取未初始化的内存?
【问题讨论】:
-
评论不用于扩展讨论;这个对话是moved to chat。
-
“读取未初始化的内存”没有未定义的行为。如果您的意思是不确定值,那么只有具有自动和动态存储持续时间的对象才会进行 b4 初始化。
标签: c++ initialization language-lawyer static-initialization