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이 가리키는 메모리를 해제하고, 그 공간을 추후 할당에 다시 사용할 수 있게 해요. ptr이 nullptr이면 아무것도 하지 않아요. 그렇지 않으면 ptr은 이전의 할당 함수 호출이 반환한 값이어야 해요.
free로 해제된 포인터를 다시 사용하거나 두 번 해제하는 것은 정의되지 않은 동작을 일으켜요.