get_temporary_buffer — std::get_temporary_buffer
get_temporary_buffer — std::get_temporary_buffer
std::get_temporary_buffer는 지정된 수의 객체를 담을 임시 메모리 버퍼를 얻는 함수예요. <memory> 헤더에 제공돼요. C++17에서 deprecated되었고 C++20에서 제거될 예정이었으나, 실제로는 표준에서 제거 과정을 밟고 있어요.
주로 옛 알고리즘 구현에서 임시 저장 공간을 확보하는 데 쓰였어요. 지금은 std::vector나 직접 동적 할당이 더 흔히 사용돼요.
출처: cppreference
본문
std::get_temporary_buffer는 임시 버퍼를 얻어요.
template<class T>
std::pair<T*, std::ptrdiff_t> get_temporary_buffer(std::ptrdiff_t count);
요청된 count에 최대한 가까운 수의 T 객체를 담을 수 있는 임시 메모리를 할당하려 시도해요. 반환값은 (포인터, 실제 담을 수 있는 객체 수) 쌍이에요.
얻은 버퍼는 std::return_temporary_buffer로 해제해야 해요. 이 함수는 예외를 던지기보다 실패를 반환값으로 나타내는 예전 스타일 API예요. 현대 코드에서는 임시 저장이 필요하면 std::vector<T>를 쓰는 게 더 안전하고 편리해요.
같이 보기
std::return_temporary_buffer