프로그래밍 공부
작성일
2024. 1. 9. 13:18
작성자
WDmil
728x90

메모리 릭 (memory leak)

프로그램이 동적으로 할당한 메모리를 해제 하지 않고, 그대로 방치하는 상황을 이야기 한다.

C++에서  new[]로 할당한 배열 형태의 메모리와 이를 해제하는 delete[]가 정확하게 수행되지 않았을 때, 발생한다.

 

메모리 누수의 영향

  • 자원소모
    • 메모리 누수가 계속되면, 사용가능한 메모리양이 감소하여, 시스템에 부하를 줄 수 있다.
  • 프로그램 종료까지 남아있는 메모리
    • 프로그램이 종료되기 전 까지는 할당된 메모리는 계속 남아있게 되어 불필요한 자원낭비가 이루어진다.

방지법

  • 정확한 해제
    • delete[]를 항상 할당과 반대순서로 정확한 위치에서 호출하여 메모리 해제를 해야한다.
  • 스마트 포인터 사용
    • C++11부터 제공되는 스마트포인터인 std::unique_ptr 또는 std::shared_ptr를 사용하면된다.
728x90

'컴퓨터 용어 정리' 카테고리의 다른 글

Forward Kinematics(FK)  (0) 2024.05.14
Big-O 표기법  (0) 2024.01.23
Dijkstra Alogithm  (0) 2023.12.21
A* Algorithm  (0) 2023.12.20
휴리스틱(Heuristic)  (0) 2023.12.20