Turbo-C
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
터보-C 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
Lua 게시판
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C/C++ Q/A
[5220] 컴파일러에 따라 소멸자가 호출되는 시점 문의드려요
``11`` [] 1798 읽음    2005-08-09 13:39
안녕하세요.

아래코드는 생성자와 소멸자가 호출되는 시점을 확인하는 코드입니다.
코드도 어렵지 않고 각각의 호출시점도 쉽게 이해가 됩니다.

하지만, Borland 컴파일러와 VC++ 컴파일러에 따라 결과가 약간 달라지네요.

Bcc 일경우 이상없이 출력됩니다만
VC++ 에서는 전역으로 객체를 생성한 부분(a 와 c 객체)은
종료시점에서 소멸자가 호출되지 않는것 같습니다.
혹시 아시는분 설명 좀 부탁드리겠습니다.
===================================================

#include <iostream>
using namespace std;

class Ctest
{
private:
    char ch;

public:
    Ctest(char ct) : ch(ct)
    {
        cout << "생성자---" << ch << endl;
    }

    ~Ctest()
    {
        cout << "소멸자---" << ch << endl;
    }
};

Ctest a('a');
void B();
Ctest c('c');

int main()
{
    Ctest d('d');
    {
        Ctest e('e');
    }

    B();

    Ctest f('f');

    return 0;
}

void B()
{
    Ctest b('b');
}

+ -

관련 글 리스트
5220 컴파일러에 따라 소멸자가 호출되는 시점 문의드려요 ``11`` 1798 2005/08/09
5221     Re:컴파일러에 따라 소멸자가 호출되는 시점 문의드려요 심성현 1765 2005/08/09
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.