c++ 局部变量在函数的释放顺序是什么?

#include "stdafx.h"
#include <iostream>
using namespace std;
class CTestA
{
public:
CTestA(){cout<<"CTestA()\n";}
~CTestA(){cout<<"~CTestA()\n";}
};


class CTestB
{
public:
CTestB(){cout<<"CTestB()\n";}
~CTestB(){cout<<"~CTestB()\n";}
};


int _tmain(int argc, _TCHAR* argv[])
{
CTestA a;
CTestB b;
return 0;
}


/*
局部变量在函数是按照栈方式存放的,先进后出(也就是释放顺序)
输出结果:


CTestA()
CTestB()
~CTestB()
~CTestA()


*/

猜你喜欢

转载自blog.csdn.net/jangdong/article/details/80926628