Namespaces
Variants

std::pmr::polymorphic_allocator<T>:: allocate

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)
T * allocate ( std:: size_t n ) ;
(depuis C++17)

Alloue de l'espace mémoire pour n objets de type T en utilisant la ressource mémoire sous-jacente. Équivalent à return static_cast < T * > ( resource ( ) - > allocate ( n * sizeof ( T ) , alignof ( T ) ) ) ; .

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é.

Exceptions

Lance std::bad_array_new_length si n > std:: numeric_limits < std:: size_t > :: max ( ) / sizeof ( T ) ; peut également lancer toute exception levée par l'appel à resource ( ) - > allocate .

Rapports de défauts

Les rapports de défauts modifiant le comportement suivants ont été appliqués rétroactivement aux normes C++ précédemment publiées.

DR Applicable à Comportement publié Comportement corrigé
LWG 3038 C++17 allocate pouvait allouer un stockage de taille incorrecte lève length_error à la place
LWG 3237 C++17 l'exception levée par allocate était incohérente avec std::allocator::allocate rendue cohérente

Voir aussi

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