静态初始化顺序惨败会在C程序中发生吗?

问题描述 投票:1回答:1

当我搜索静态初始化顺序问题时,我在C ++中看到很多解释此问题的示例。我想知道:C程序中是否可能发生静态初始化顺序严重失败的问题?

c compiler-errors static
1个回答
2
投票

C中的静态初始化与C ++没有相同的问题。

在C语言中,具有静态存储持续时间的对象只能通过常量表达式进行初始化,即可以在编译时计算的值,因此,初始化顺序不会出现问题。

相反,C ++允许调用函数初始化静态对象,并且这些函数的调用顺序没有明确定义。

© www.soinside.com 2019 - 2024. All rights reserved.