根据以下代码产生的结果,给小弟我说说析构函数的调用时间有关问题

根据以下代码产生的结果,给我说说析构函数的调用时间问题
C/C++ code
#include<iostream>
using namespace std;
class Test
{
    private:
        int num;
    public:
        Test(int a)
        {
            num=a;
            cout<<"第"<<num<<"个Test对象的构造函数被调用"<<endl;
        }
        ~Test()
        {
            cout<<"第"<<num<<"个Test对象的析构函数被调用"<<endl;
        }
};
int main()
{
    cout <<"进入main函数"<<endl;
    Test t[4]={1,2,3,4};
    Test(5);
    Test(6);
    Test(7);
    cout<<"main函数在运行中"<<endl;
    cout<<"退出main函数"<<endl;
    return 0;
}


------解决方案--------------------
因为那个是临时对象。生命期在构造完成就结束立即被析构