C++/기타

메모리 누수(Memory Leak)

diesuki4 2023. 1. 19. 22:30

 

메모리 누수란?

Heap에 동적 할당된 메모리 공간이 가리키는 포인터 없이 해제되지 않은 채 남겨지는 것

 

메모리 누수는 다음과 같은 상황에서 발생한다.

void print()
{
    int *ptr = new int;
    *ptr = 1;
    
    std::cout << *ptr << std::endl;
}
// 함수 종료 후 ptr이 가리키는 영역이
// 찾을 수 없는 상태로 해제되지 않은 채 남겨지게 된다.

void main()
{
    for (int i = 0; i < 100; ++i)
        print();
}