c_free — std::free

c_free — std::free

std::free는 이전에 std::malloc, std::calloc, std::realloc, std::aligned_alloc로 할당한 메모리를 해제하는 C 언어 스타일 함수예요. <cstdlib> 헤더에 제공돼요.

할당한 메모리를 사용한 뒤 반드시 free로 해제해야 메모리 누수를 막을 수 있어요. 이미 해제한 메모리를 다시 해제하는 것은 정의되지 않은 동작이에요.

출처: cppreference

본문

std::free는 이전에 할당한 메모리를 해제해요.

void free(void* ptr);
  • ptr — 이전에 malloc, calloc, realloc, aligned_alloc로 할당한 메모리에 대한 포인터

ptr이 가리키는 메모리를 해제하고, 그 공간을 추후 할당에 다시 사용할 수 있게 해요. ptrnullptr이면 아무것도 하지 않아요. 그렇지 않으면 ptr은 이전의 할당 함수 호출이 반환한 값이어야 해요.

free로 해제된 포인터를 다시 사용하거나 두 번 해제하는 것은 정의되지 않은 동작을 일으켜요.

더 알아보기 (Learn more)

cppreference