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

C++빌더 Q&A
C++Builder Programming Q&A
[36063] 클래스를 이용한 메모리 관리루틴에서 동적 할당한 메모리를 해제할려고 하는데...
박 재성 [] 930 읽음    2004-07-05 02:03
동적으로 할당한 메모리를 관리하기 위해 아래와 같은 클래스를 만들었을때
클래스의 생성자 에서 할당한 메모리를 해제하기 위해 소멸자에서 할당한
메모리를 해제하도록 했는데 맞는지 모르겟습니다. 고수님들 아래 코드를
보시고 한 수 가르침 부탁드립니다.



class TBuf
{
        public:

        __fastcall TBuf( int num, int len );
                  __fastcall ~TBuf();

                  int ChannelNum;
                  int BufLen;
                  int *AI_BufY;

    private:

};


TBuf * Buffer[10];


__fastcall TBuf::TBuf ( int num, int len )     //생성자
{
    ChannelNum = num;
    BufLen = len;
    AI_BufY = new U16[ BufLen+100 ];
}


__fastcall TBuf::~TBuf()           // 소멸자
{
    delete AI_BufY;
}


void NewAllBuffer(void)          // 버퍼 할당
{
    int i;

    for(i=0 i< 10; i++)
    {
        Buffer[i] = new TBuf(i, 100);
    }
}

void DeleteAllBuffer( void )    // 모든 버퍼 삭제
{

    int i;

    for(i=0; i<10; i++)
    {
        delete Buffer[i];
    }
}


위 코드에서 모든 버퍼를 삭제할때 for 문을 사용하지않고

delete[] Buffer;

이렇게 해주면 클래스 내에서 할당된 AI_BufY 까지 자동으로
해제 되는지요..

+ -

관련 글 리스트
36063 클래스를 이용한 메모리 관리루틴에서 동적 할당한 메모리를 해제할려고 하는데... 박 재성 930 2004/07/05
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.