如果程序启动并且没有启动线程,你能解释一下变量初始化序列之间的区别吗?
秒。 3.6.2 / 3 N3797 c ++ 14工作草案:
如果程序启动一个帖子(30.3),则后续初始化 关于a的初始化,变量未被排序 变量在不同的翻译单元中定义。 否则, 关于变量的初始化是不确定地排序的 初始化在不同翻译中定义的变量 单元。
请举例,解释该规则,如果可能的话。
答案 0 :(得分:1)
Unsequenced 表示没有序列 - 变量可以在不同的线程上同时初始化。
不确定地排序意味着一个在另一个之前排序 - 变量在同一个线程上顺序初始化 - 但是没有指定哪个是首先初始化的。