欢迎来到CILMY23的博客
本篇主题为: 构造函数、析构函数在局部、静态以及全局的调用和释放顺序
个人主页:CILMY23-CSDN博客
系列专栏:Python | C++ | C语言 | 数据结构与算法
感谢观看,支持的可以给个一键三连,点赞关注+收藏。
目录
写在前头:在讲解构造函数和析构函数在局部、全局、静态的顺序前,我们先回顾一下C/C++中的内存管理
本篇主要研究静态区(数据段),局部,和全局之间的调用顺序,并且以学生类为例进行测试。
一、局部域中的调用和释放顺序
为了让学生类能够被我们调用和释放的时候识别,我们将做一些优化:
我们使用全缺省的构造函数来进行区分,给予ID值
class Student
{
public:
Student(int ID = 1)
{
_ID = ID;
cout << "Student()" << _ID << endl;
}
~Student()
{
cout << "~Student()" << _ID << endl;
}
private:
int _ID;
};
在main域里:
int main()
{
Student stu1(1);
Student stu2(2);
Student stu3(3);
return 0;
}
<