1)类的静态数据成员总是在main()调用之前被初始化,这是真的吗?
2)如果类初始化代码的静态数据成员使用其他转换单元的全局静态变量,是否会发生“静态初始化顺序失败”?
我在哪里能读到更多关于它的资料?在2003年的C++标准中,我找不到答案。
非常感谢。
发布于 2015-04-23 09:27:46
1)类的静态数据成员总是在main()调用之前被初始化,这是真的吗?
是的,它们总是在程序开始执行之前被初始化。
2)如果类初始化代码的静态数据成员使用其他转换单元的全局静态变量,是否会发生“静态初始化顺序失败”?
是的,除此之外,它还会发生在main()执行之前初始化的每一件事情上。
发布于 2015-04-23 09:22:13
两种答案都是。
有关它的良好描述,请参见https://isocpp.org/wiki/faq/ctors#static-init-order。
https://stackoverflow.com/questions/29818985
复制相似问题