Namespaces
Variants

std::pmr::polymorphic_allocator<T>:: allocate_object

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
template < class U >
U * allocate_object ( std:: size_t n = 1 ) ;
(depuis C++20)

Alloue de l'espace mémoire pour n objets de type U en utilisant la ressource mémoire sous-jacente.

Si std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( U ) < n , lève std::bad_array_new_length , sinon équivalent à return static_cast < U * > ( allocate_bytes ( n * sizeof ( U ) , alignof ( U ) ) ) ; .

Table des matières

Paramètres

n - le nombre d'objets pour lesquels allouer de la mémoire

Valeur de retour

Un pointeur vers le stockage alloué.

Notes

Cette fonction a été introduite pour être utilisée avec l'allocateur pleinement spécialisé std:: pmr :: polymorphic_allocator <> , mais elle peut être utile dans toute spécialisation comme raccourci pour éviter d'avoir à effectuer un rebind depuis std:: pmr :: polymorphic_allocator < T > vers std:: pmr :: polymorphic_allocator < U > .

Puisque U n'est pas déduit, il doit être fourni comme argument de modèle lors de l'appel de cette fonction.

Exceptions

Lance std::bad_array_new_length si n > std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( U ) ; peut également lever toutes les exceptions générées par l'appel à resource ( ) - > allocate .

Voir aussi

alloue de la mémoire brute alignée à partir de la ressource sous-jacente
(fonction membre publique)
(C++20)
alloue et construit un objet
(fonction membre publique)
alloue de la mémoire
(fonction membre publique)
[static]
alloue un stockage non initialisé en utilisant l'allocateur
(fonction membre publique statique de std::allocator_traits<Alloc> )
alloue de la mémoire
(fonction membre publique de std::pmr::memory_resource )