delete [] arr은 ar이 C++에서 작성된 함수 외부에서 호출 된 경우 메모리를 해제합니까?delete [] arr은 ar이 C++에서 작성된 함수 외부에서 호출 된 경우 메모리를 해제합니까?
나는이
double* f()
{
double* arr = new double[100];
return arr;
}
void ff()
{
double* arr = f();
delete [] arr;
}
같은 것을했을 경우 내 말은 ff()
에서 제대로 삭제 ARR 할 것인가?
입니다. 그러나 대신'std :: vector' 또는 스마트 포인터를 사용하는 것을 고려해보십시오. –
예, arr이 삭제됩니다. 그러나 이런 종류의 메모리 관리는 좋지 않습니다. – HatsuPointerKun
예. 포인터 추적을 잃지 않는 한. – Steve