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
[40289] Re:delete 에 대한 질문입니다.
소리바람.OJ [phonon] 730 읽음    2005-05-24 17:57
Null Pointers and Delete

C++ guarantees that operator delete checks its argument for null-ness. If the argument is 0, the delete expression has no effect. In other words, deleting a null pointer is a safe (yet useless) operation. There is no need to check the pointer for null-ness before passing it to delete:


if (p) // useless; delete already checks for a null value
  delete(p);


위의 내용으로 봐서도 검사가 필요없이 사용하셔도 됩니다.
내부적으로 Null인지를 확인한다고 합니다.

건승을 빕니다.


수야!╋ 님이 쓰신 글 :
: char *s = NULL;
: delete s;
:
: 위 문장은 에러가 발생되지 않는군요 ( 빌더나 VC에서도요... )
:
: 많은 기간동안 NULL이 아닌놈을 지우기 위해서 발악해 왔습니다.
:
: 그런데 혼돈이 생겼네요.. -_-;
:
: #define SAFE_DELETE( x ) if( x ) delete x; x = NULL;
:
: 이렇게 선언하고 사용했는데
:
: 혼돈이 생겼습니다.
:
: if 문을 빼버려야하는 고민이 생겼거든요...
:
: delete가 하는 일을 알고 싶습니다.
:
: MSDN이나 빌더의 헬프를 찾아봐도 나오지 않는군요... 못찾은 걸지도..
:
: 프로그램을 하던 당시와 함께 당연하다 생각하던 널의 delete는 에러다 라는 ....
:
: 알려주세요~ ㅠ.ㅠ

+ -

관련 글 리스트
40288 delete 에 대한 질문입니다. 수야!╋ 710 2005/05/24
40290     ISO IEC14882 - 표준C에 정의된 내용 수야!╋ 887 2005/05/24
40289     Re:delete 에 대한 질문입니다. 소리바람.OJ 730 2005/05/24
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.