std::pmr::polymorphic_allocator<T>:: allocate
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Member functions | ||||
|
polymorphic_allocator::allocate
|
||||
|
(
C++20/26*
)
|
||||
| Non-member functions | ||||
|
(until C++20)
|
|
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
|
(C++20)
|
alloue de la mémoire brute alignée à partir de la ressource sous-jacente
(fonction membre publique) |
|
(C++20)
|
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
)
|