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 |