![]() |
1
1
不管对象是静态的还是动态的,调用析构函数时发生的操作都是“销毁”。
|
![]() |
2
2
这里的问题是,您试图从功能的角度来描述流程。这对于C++来说是不起作用的,因为我们没有一个“静态初始化”或运行之前的函数/代码的概念。
C++中的代码运行方法
相反的做法是:销毁静态存储对象。
有关存储持续时间对象的更多详细信息:C++中有4种对象。
每种类型都有一个特定的创建和销毁时间。
然后有一些关于何时调用对象构造函数/析构函数的规则(如果对象类型有构造函数/析构函数)。 静态存储持续时间对象
销毁顺序100%明确。这是完全相反的建设顺序。因此,所有“静态存储持续时间”对象都将按与结构完全相反的顺序销毁(在main完成之后)。当对象被销毁时,它的析构函数被调用(如果它有析构函数的话)。 |
![]() |
3
0
|
![]() |
AstralHex · 矩阵乘法代码工作不正常 7 月前 |
![]() |
Fishie · 作为类成员的智能指针是否仍然自动释放?[关闭] 7 月前 |
![]() |
Die4Toast · 递归调用成员箭头运算符-> 7 月前 |
![]() |
Anka Hanım · 关于结构和动态数组地址的问题 7 月前 |