동적할당

jinsuk·2023년 10월 22일
0
  • 적당히 사용하고 필요 없으면 반납할 수 있는 그런 메모리 영역 -> 힙 영역
  • 함수가 호출되고 종료되면 멋대로 사라지는 메모리가 아닌 우리가 어느정도 관리할 수 있는 메모리
  • 롤이라는 프로그램이 커널영역이 메모리를 요청 후 받아서 사용하는 메커니즘
  • 메모리를 할당받은다음 보이드형 포인터로 반환하게 되는데 사용자가 알아서 잘 사용하면 된다.
  • 사용한 후에는 프리를 해주게 되는데 프리를 해줄때는 어차피 메모리를 할당받을때 헤더부분에 메모리의 크기를 기록해두기 때문에 딱히 해제해줄 메모리의 크기를 인자로 안 넘겨주어도 된다.
  • 유즞 애프터 프리의 경우 메모리를 반납한 이후에도 해당 포인터를 사용하는것 이러다 보면 건드리면 안되는 메모리 주소를 건드릴 수도 있으므로, 만약 바로 크래쉬가 난다면 다행이지만 나비효과가 일어나 2주 후에 크래쉬가 터지면 찾기가 정말 어려워진다.
  • 메모리 사용후 프리를 안해주면 당장 크래쉬는 나지 않지만 배포가 일어난 후 계속적인 메모리 누수 현상이 일어난다(메모리를 계속 줘 줘 요구만 하는 상황) 그러다 보면 여유분이 없어지고 결국 프로그램이 뻗게 됨
  • 멀록은 어떤 정수를 입력해서 크기만큼 할당받는 개념이라고 한다면 New 같은 경우에는 타입을 넣어주게 된다. 물론 클래스일 필요는 없고, 기본타입도 상관없다, 어떤 타입을 넣어주게 되면 그 타입의 크기만큼 자동으로 할당해서 시작 주소를 뱉어주게 된다.
  • 멀록과 차이점? 뉴 딜리트는 생성타입이 클래스일 경우 생성자와 소멸자를 함께 호출해준다.


profile
공부기록용

0개의 댓글

관련 채용 정보