C++

[C++] Dynamic Allocation

nueos 2024. 4. 30. 00:08

동적 메모리 할당

: 실행 도중에 동적으로 메모리를 할당받는 것

  • 사용이 끝나면 시스템에 메모리 반납
  • 필요한 만큼만 할당받고 메모리를 효율적으로 사용
  • c++은 new와 delete 키워드 사용 ↔ c는 malloc()/free()

 

메모리 누수(dangling pointer)

  • 같은 변수에 2개의 공간 할당됨 → 첫번째 할당 존재를 잊게 됨 → 해제할 수 없는 메모리
  • 어딘가에는 레퍼런스를 들고 있도록 만들어줘야 함.

 

core file

segmentation fault가 발생했을 때 프로그램 수행 시 메모리를 그대로 file로 dump한 것
  • 지역 변수의 주소를 반환하면, 함수가 종료되면 사라지기 때문에 오류
  • 동적 할당받은 주소를 반환하는 것은 가능
728x90
반응형