동적 할당한 이중포인터에서 마지막 해제
글쓴이: dltkddyd / 작성시간: 금, 2012/02/10 - 2:35오후
ytube라는 이중포인터를 만들었습니다. 그리고 포인터를 지울 때 delete를 다음과 같이 두 번 사용하는 것이 맞는지 궁금합니다.
int main() {
myTest **ytube=new myTest*;
ytube[0]=new myTest(10,"구름");
ytube[1]=new myTest(30,"폭우");
ytube[2]=new myTest(40,"고양이");
//ytube[3]=NULL;
int i=0;
while(ytube[i]) {
ytube[i]->output();
if(i>=2) break;
i++;
}
i=0;
while(ytube[i]) {
delete ytube[i];//요 부분과
if(i>=2) break;
i++;
}
delete ytube;//요 부분 말입니다.
}
저렇게 두 번 delete를 사용하는 것이 맞나요?
Forums:
C++ 인가요? myTest type 이 잘
C++ 인가요? myTest type 이 잘 정의되어있는건지 모르겠는데...
마지막 delete 는 delete[] 를 써야 할 듯... 그것말고는 잘 모르겠네요
-----
안녕하세요 소프트웨어 공학센터 장원석 책임입니다.
http://www.software.kr
새롭게 c++을 배우시면서 c++로 옮겨타는
새롭게 c++을 배우시면서 c++로 옮겨타는 상황이라면,
stl의 vector, auto_ptr 등을 활용한 코딩을 해보시면 어떨런지요..
포인터 배열대신 객체 벡터가 나을듯..
c++로 짜면서 포인터를 헤비하게 사용하는건,
별로 바람직하지 않아보이네요..
c와 c++의 단점만 가져다 쓰는것 같아서요.. -_-;;
댓글 달기