[C++] new와 malloc, free와 delete 차이점

Date:     Updated:

카테고리:

태그:

이 글은 C++ new와 malloc의 차이점을 정리한 글입니다

  • new와 malloc의 차이점
    • malloc은 함수이기 때문에 stdlib.h를 반드시 포함해야 한다
    • malloc은 메모리를 동적으로 할당하는 것만이 목적이기때문에 초기값을 지정해줄 수 없지만, new는 할당과 동시에 초기화가 가능하다
    • new는 생성자를 자동으로 호출하지만 malloc은 생성자를 호출하지 않는다
    • 만약 재할당이 많이 일어난다면 malloc으로 동적할당하는게 더 좋을 수 있다
      • new로 할당 받은 공간은 realloc같은 함수가 없기에 다시 할당해줘야한다. 하지만 malloc으로 할당 받은 공간은 realloc이라는 함수를 통해서 재할당을 해줄 수 있다
  • delete와 free의 차이점
    • delete는 소멸자를 호출해주고
    • free는 소멸자를 호출해주지 않는다


💻 열심히 공부해서 작성 중이니 오류나 틀린 부분이 있을 경우 
  언제든지 댓글 혹은 메일로 알려주시면 감사하겠습니다! 😸

맨 위로 이동하기

Cpp 카테고리 내 다른 글 보러가기

댓글 남기기