그렇게 하셔도 되고 delete p1; 을 하시길 권장해 드립니다.
가능한 delete는 포인터에 쓰도록 하세요. 그래야지 나중에 안헷갈립니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
맞을겁니다. 한번
맞을겁니다. 한번 해보는게 어떨까요?
그렇게 하셔도 되고
그렇게 하셔도 되고 delete p1; 을 하시길 권장해 드립니다.
가능한 delete는 포인터에 쓰도록 하세요. 그래야지 나중에 안헷갈립니다.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
-------------------------------------------------------------------------------
It's better to appear stupid and ask question than to be silent and remain stupid.
참고로..
레퍼런스 변수나 포인터 변수나 객체를 참조하는데 사용된다는 건 마찬가지라고 할 때,
어떤 경우에 레퍼런스를 쓰고 어떤 경우에 포인터를 쓸 지 사실 모호하게 느껴질 수도 있을 것 같아요
저 같은 경우엔 레퍼런스 변수는 포인터 변수와는 달리 다른 객체를 참조하거나 NULL로 변경하는 것이 불가능한 만큼,
해제가 일어나지 않을 것, 참조를 변경하지 않을 것이 확실한 경우에 레퍼런스를 씁니다. 또 이런 구분을 이용해서 참조 객체에 대한 소유 관계를 나타내는데 쓰기도 합니다.
가령 어떤 객체 A가 멤버 변수로 어떤 객체 B를 참조할 경우, 레퍼런스를 사용한다면 A는 B를 참조만 할 뿐 B의 할당/해제에는 관여치 않는다는 것을, 포인터를 사용한다면 B의 할당/해제할 책임을 진다는 것을 나타내는 것이죠.
또 어떤 함수가 어떤 객체 B를 참조로 받아야 한다면, 그 함수가 반환될 때까지 객체 B를 해제하지 않는다는 것이 확실할 때는 레퍼런스를 쓰는 것이죠. 만약 그 함수 내에서 객체 B에 대한 해제가 일어날 수 있다면 포인터를 쓰고요.
이렇게 구별해서 쓰는 게 보편적으로 얼마나 유용성이 있을진 모르겠지만, 적어도 제겐 도움이 되더라구요. ㅎㅎ
댓글 달기