goto语句对析构函数的影响

来源:互联网 发布:手里淘宝信誉度怎么看 编辑:程序博客网 时间:2024/06/06 05:50
     在c++中,当一个对象离开定义它的域时,析构函数就被自动调用。直观来讲,就是离开域的右括号。不过据说采用setjump()和longjump()来实现的非局部goto语句就不会触发析构函数。

#include <iostream>

using namespace std;

class Test{
    public:
        Test(){
            cout << "构造" << endl;
        }
        ~Test(){
            cout << "析构" << endl;
        }
};

int main(){
    {
        Test t;
        goto jump;
    }
    jump:
        return 0;
}
0 0
原创粉丝点击