힙에서 생성되어 함수에서 반환 된 배열을 삭제할 수 있습니까? MEM이 누출 된 원인</p> <p>처럼 다른 곳을 사용하는 경우
Int * temp=something(5);
// use the array....
delete [] temp;
...의 당신이
int * something (int size){
int * sample= new int[size];
//... do something
return sample;
}
그런 다음 함수가 있다고 가정 해 봅시다 ....
하면이 거인가 ??
아니요, 누출을 일으키지 않으며 완벽하게 합법적입니다. –
* 수행하지 않으면 메모리 누수가 발생합니다. 'new'를 항상'delete'하고'new []'를'delete []'해야합니다. –
"동적 배열"이 필요한 경우에는 동적 할당을 직접 사용하지 말고 'std :: vector'를 사용하는 것이 좋습니다. 그렇다면 이런 것들에 대해 걱정할 필요가 없습니다. –