关注
1. 非局部静态变量
- **静态存储持续时间的变量**(包括全局变量、静态变量、静态类成员等)的初始化顺序遵循它们定义的顺序,并且具体顺序还取决于它们所在的编译单元(即源文件)。
- 在同一个源文件中,全局变量按照它们的定义顺序进行初始化。
- 如果变量跨多个文件,它们的初始化顺序取决于文件被编译器处理的顺序,这可能导致所谓的“静态初始化顺序问题”。
2. 局部静态变量
- 局部静态变量(在函数或块内部定义的静态变量)在控制流第一次经过变量定义时初始化,这称为“懒惰初始化”或“按需初始化”。
- 这种方式确保了局部静态变量在第一次使用前被初始化,无论函数何时或从何处被调用。
3. 类成员变量
- **非静态成员变量**的初始化顺序严格按照它们在类中声明的顺序,不论它们在构造函数初始化列表中出现的顺序如何。
- **构造函数初始化列表**中提供的初始化器用于给这些成员变量提供初始值。
4. 继承顺序
- 如果类是从一个或多个类继承而来,基类的构造函数总是在派生类的任何成员初始化之前调用。
- 当有多个基类时,基类的构造调用顺序与它们在类定义中的声明顺序一致。
查看原帖
点赞 评论
相关推荐
![](https://static.nowcoder.com/fe/file/oss/icon-hot.png)
![](https://static.nowcoder.com/fe/file/oss/1715049343797JOCFB.png)
点赞 评论 收藏
分享
![](https://static.nowcoder.com/fe/file/oss/1715049343797JOCFB.png)
点赞 评论 收藏
分享
点赞 评论 收藏
分享
牛客热帖
正在热议
# 打工人的辛酸 #
11706次浏览 192人参与
# 投递实习岗位前的准备 #
809144次浏览 13944人参与
# 极具前瞻性,现代汽车编程题 #
28734次浏览 512人参与
# 机械制造投递记录 #
159509次浏览 2731人参与
# 机械人怎么评价今年的华为 #
98084次浏览 757人参与
# 应届生应该先就业还是先择业 #
16932次浏览 149人参与
# 不去互联网可以去金融科技 #
65553次浏览 622人参与
# 晒一晒我的offer #
4364525次浏览 63306人参与
# 25届如何提前做秋招准备? #
43848次浏览 1011人参与
# 想辞职但是不敢的原因 #
4153次浏览 65人参与
# 如何一边实习一边秋招 #
433049次浏览 6558人参与
# 实习生如何通过转正 #
33553次浏览 417人参与
# 我的简历长这样 #
46163次浏览 926人参与
# 摸鱼打卡站 #
10857次浏览 549人参与
# 你后悔选择现在的专业吗 #
12074次浏览 173人参与
# 你的秋招进行到哪一步了 #
469579次浏览 7354人参与
# 没有实习经历,还有机会进大厂吗 #
493111次浏览 9639人参与
# 我的上岸简历长这样 #
253067次浏览 4860人参与
# 如果校招重来我最想改变的是 #
107264次浏览 1699人参与
# 机械制造笔面经 #
65056次浏览 1318人参与
# 许愿池 #
106046次浏览 1825人参与
# 我的成功项目解析 #
111042次浏览 3009人参与