C++ 匿名对象的生命周期

//匿名对象的生命周期
#define _CRT_SECURE_NO_WARNINGS
#include<iostream>
using namespace std;

class Point{
public:
    Point(){
        cout << "自定义的无参构造函数被调用了1" << endl;
    }
    ~Point(){
        cout << "自定义的析构函数被调用了2" << endl;
    }
};

void ProtectA(){
    //直接调用Point的类构造函数
    Point();
    //此时c++编译器会自动生成匿名对象,
    //但是通过观察发现  执行Point();同时调用无参构造函数和析构函数
    //说明c++编译器发现后面没有代码调用这个匿名对象,所以立刻释放了
}

void main(){
    ProtectA();

    system("pause");
}

 

posted on 2016-06-22 21:30  寒魔影  阅读(1543)  评论(0编辑  收藏  举报

导航