달력

1

« 2020/1 »

  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  •  


 

 

메모리 누수(memory leak)

http://codedragon.tistory.com/4102

 

 

 

 

메모리 누수의 예제코드

 

잘못된 코드 (메모리 누수 발생)

안전하지 않은 코드

// Bad 코드 (메모리 누수 발생)

void sub() {

int *pi = new int;    // 메모리 할당

 

*pi = 69; // 사용

 

pi = new int;    // 메모리 할당, 메모리 누수발생

// 기존에 할당 받은 메모리 공간을 추적할 없게 됩니다.

// 기존에 할당받은 값은 누구도 사용할 없게 되어집니다.

*pi = 99;

}

 

 

올바른 코드

안전한 코드

// Good 코드

void sub() {

int *pi = new int;    // 메모리 할당

*pi = 69; // 사용

delete pi; // 메모리 반납

 

pi = new int;    // 메모리 할당

*pi = 99;

delete pi;

}

 

 



Posted by codedragon codedragon

댓글을 달아 주세요