Книга: Standard Template Library Programmer

return_temporary_buffer

return_temporary_buffer

Category: allocators

Component type: function

Prototype

template <class T>
void return_temporary_buffer(T* p);

Description

Return_temporary_buffer is used to deallocate memory that was allocated using get_temporary_buffer. [1]

Note: get_temporary_buffer and return_temporary_buffer are only provided for backward compatibility. If you are writing new code, you should instead use the temporary_buffer class.

Definition

Defined in the standard header memory , and in the nonstandard backward-compatibility header algo.h .

Preconditions

The argument p is a pointer to a block of memory that was allocated using get_temporary_buffer(ptrdiff_t, T*).

Example

int main() {
 pair<int*, ptrdiff_t> P = get_temporary_buffer(10000, (int*)0);
 int* buf = P.first;
 ptrdiff_t N = P.second;
 uninitialized_fill_n(buf, N, 42);
 int* result = find_if(buf, buf + N, bind2nd(not_equal_to<int>(), 42));
 assert(result == buf + N);
 return_temporary_buffer(buf);
}

Notes

[1] As is always true, memory that was allocated using a particular allocation function must be deallocated using the corresponding deallocation function. Memory obtained using get_temporary_buffer must be deallocated using return_temporary_buffer, rather than using free or ::operator delete.

See also

temporary_buffer, get_temporary_buffer, Allocators

Оглавление книги


Генерация: 1.132. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз