std::pmr::polymorphic_allocator<T>::allocate_object
template<class U > [[nodiscard]] U* allocate_object(std::size_t n =1); | (desde C++20) | |
Asigna almacenamiento para n
objetos de tipo U
utilizando el recurso de memoria subyacente.
Si std::numeric_limits<std::size_t>::max()/ sizeof(U)< n, lanza std::bad_array_new_length, de lo contrario es equivalente a returnstatic_cast<U*>(allocate_bytes(n * sizeof(U), alignof(U)));
Contenido |
[editar]Parámetros
n | - | El número de objetos para los que asignar almacenamiento. |
[editar]Valor de retorno
Un puntero al almacenamiento asignado.
[editar]Notas
Esta función se introdujo para su uso con el asignador totalmente especializado std::pmr::polymorphic_allocator<>, pero puede ser útil en cualquier especialización como un atajo para evitar tener que volver a revincular de std::pmr::polymorphic_allocator<T> a std::pmr::polymorphic_allocator<U>.
Dado que U
no se deduce, debe proporcionarse como argumento de plantilla al llamar a esta función.
[editar]Excepciones
Lanza std::bad_array_new_length si n >std::numeric_limits<std::size_t>::max()/ sizeof(U); también puede haber excepciones lanzadas por la llamada a resource()->allocate.
[editar]Véase también
(C++20) | Asigna memoria sin formato alineada del recurso subyacente. (función miembro pública) |
(C++20) | Asigna memoria y construye un objeto. (función miembro pública) |
Asigna memoria. (función miembro pública) | |
[estático] | asigna almacenamiento sin inicializar utilizando el asignador Original: allocates uninitialized storage using the allocator The text has been machine-translated via Google Translate. You can help to correct and verify the translation. Click here for instructions. (función miembro estática pública de std::allocator_traits ) |
Asigna memoria. (función miembro pública de std::pmr::memory_resource ) |