| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1070 人关注过本帖
标题:关于goto语句和析构函数问题
只看楼主 加入收藏
Student2008
Rank: 1
等 级:新手上路
帖 子:31
专家分:0
注 册:2008-10-20
结帖率:100%
收藏
 问题点数:0 回复次数:1 
关于goto语句和析构函数问题
请问各位大虾 下面这个程序是不是表示用goto跳出一个循环,析构函数仍然被调用
#include<iostream>
using namespace std;

class Simple{
    int a;
public:
    Simple(int a);
    ~Simple();
};
Simple::~Simple(){
    cout<<"~freeing"<<endl;
    cout<<"a="<<a<<endl;
}
Simple::Simple(int b){
    cout<<"into me"<<endl;
    a=b;
    cout<<"a="<<a<<endl;
}
int main(){
    while(1){
        Simple s(4);
        goto a2;
    }
a2:cout<<endl;
}
搜索更多相关主题的帖子: goto 函数 语句 
2008-11-18 18:10
p1s
Rank: 4
等 级:贵宾
威 望:10
帖 子:454
专家分:3
注 册:2005-11-4
收藏
得分:0 
析构函数是对象消亡前自动调用的,如果是new动态分配的,那么就当它被delete的时候被调用。
如果是局部对象,那么就在函数调用结束后(或编译器判定该对象不再使用后)调用析构函数。
2008-11-18 18:32
快速回复:关于goto语句和析构函数问题
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.039799 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved