return_temporary_buffer — std::return_temporary_buffer

return_temporary_buffer — std::return_temporary_buffer

std::return_temporary_buffer는 이전에 std::get_temporary_buffer로 얻은 임시 버퍼의 저장 공간을 해제하는 함수예요. <memory> 헤더에 제공돼요. C++17에서 deprecated, C++20에서 제거되었어요.

get_temporary_buffer로 버퍼를 얻었으면, 사용을 마친 뒤 이 함수로 해제해야 메모리 누수를 막을 수 있어요.

출처: cppreference

본문

std::return_temporary_bufferp가 가리키는 저장 공간을 해제해요.

template<class T>
void return_temporary_buffer(T* p);
  • p — 해제할 저장 공간을 가리키는 포인터

p가 이전 std::get_temporary_buffer 호출이 반환한 포인터 값이 아니거나, 중간의 return_temporary_buffer 호출로 무효화되었다면 동작은 정의되지 않아요. p를 한 번만 해제해야 해요.

이 함수는 예외를 던지지 않아요. get_temporary_buffer와 짝을 이루어 사용되어야 해요. 현대 C++에서는 임시 버퍼가 필요하면 std::vector 같은 자동 관리 컨테이너를 쓰는 것이 더 안전해요.

같이 보기

  • std::get_temporary_buffer

더 알아보기 (Learn more)

cppreference