c++공부중에 궁금해졌는데
동적할당을 한 메모리를 해제해주고 null로 초기화 하는거랑
null로 초기화 해주고 해제해주는거랑 뭐가다름??
공부 처음할때는 당연히 동적할당 해제해주면 그 메모리가 사라지니까 null로 해준 후 해제해줄줄 알았는데
공부하다 남의 코드를 보면 항상 delete를 해주고 null로 초기화를 하더라고
메모리가 해제되도 초기화 할 수 있는 이유랑
메모리를 먼저 해제시켜주는이유가 궁금해
코린이 검색해도 못찾아서 질문한다
익명(14.4)
2021-04-06 21:14
추천 0
댓글 8
다른 게시글
-
토이프젝에 돈 많이 써보고싶음 [4]점진적자살(182.216) | 21.04.06추천 0
-
갑자기 또 크몽이야기 나오냐 참나 ㅋㅋㅋ [1]익명(59.15) | 21.04.06추천 0
-
C언어 파이썬한테 발리는 개병신언어 ㅋㅋㅋ익명(118.235) | 21.04.06추천 0
-
크몽 별점 만점 유지하기 줜나 빡셈.jpg [3]익명(27.122) | 21.04.06추천 1
-
신입을 왜 알려주냐 ㅋㅋ [2]익명(59.15) | 21.04.06추천 1
-
옛날 it업계는 정이 있었던 거 같은데 [6]익명(220.90) | 21.04.06추천 0
-
인코더 디코더 만드는 거 어렵진 않은데Limbo(dlawotjr1999) | 21.04.06추천 0
-
너네 처음 딸칠때 생각남? [4]익명(27.122) | 21.04.06추천 0
-
초저비용 데이타 파이프라인 토이프젝 구축 계획점진적자살(182.216) | 21.04.06추천 1
-
국비충 빡통이라 슬프다 [2]익명(175.223) | 21.04.06추천 1
메모장에다가 집주소를 적어놓고 집을 지었다가, 주소를 찾아가서 집을 부숨 - dc Cpp
그리고나서 메모장을 태워버림 - dc Cpp
정확힌 짓고나서 주소를 적지... 암튼 - dc Cpp
메모장부터 태우면 집을 부수러갈수가없음 - dc Cpp
메모장을 태우는 이유는 거기에 아직 집이 남아있는줄 아는사람이 있을수도 있어서이며 이를 댕글링 포인터라고함 - dc Cpp
와 니 설명 존나잘한다 ㅋㅋㅋㅋㅋㅋㅋㅋㅋㅋ 단번에 이해됐어 고마워
함수 외부에서 계속 쓸 가능성이 있는 동적할당의 경우 free + null 초기화까지해서 안전하게 보내기도 함 free만 하면 그 포인터에 접근했을 때 세그폴트 뜰 수 있는데 null 초기화하면 그냥 아무것도 못 읽고 끝나니깐 - dc App