본문 바로가기

스마트 포인터2

[C++] 메모리누수와 해결방안 C++ 메모리 누수 원인과 해결 방법 총정리! C++ 메모리 누수란?메모리 누수(Memory Leak)는 프로그램이 동적으로 할당한 메모리를 해제하지 않아, 사용하지도 못하면서 시스템 자원을 계속 차지하는 현상입니다. 누적되면 프로그램의 성능 저하, 시스템 불안정, 심할 경우 크래시까지 유발할 수 있습니다. 메모리 누수가 발생하는 대표적인 상황1. new로 할당하고 delete를 하지 않은 경우int* ptr = new int(10);// delete ptr; // 누락되면 메모리 누수 발생2. 예외(Exception) 처리 중 delete 누락void func() { int* data = new int[100]; if (/* error condition */) { throw st.. 2025. 3. 24.
[C++] 메모리 누수 C++에서 메모리 누수를 찾아내는 방법메모리 누수(memory leak)는 동적으로 할당한 메모리를 해제하지 않아 발생하는 문제로, 장기적으로 프로그램의 성능을 저하시킬 수 있습니다. 특히, C++과 같은 언어에서는 개발자가 메모리 관리를 직접 수행해야 하기 때문에 메모리 누수를 찾아내고 해결하는 것이 중요합니다. 1. 메모리 누수란?메모리 누수는 프로그램이 더 이상 필요하지 않은 메모리를 해제하지 않아서 발생하는 문제입니다.이는 장기간 실행되는 프로그램에서 심각한 문제를 초래할 수 있으며, 시스템 리소스를 낭비하게 됩니다.발생 원인new 또는 malloc()으로 할당한 메모리를 delete 또는 free()로 해제하지 않음예외(exception) 발생 시 메모리 해제 코드가 실행되지 않음전역 또는 정적.. 2025. 3. 9.