std:: allocator_arg, std:: allocator_arg_t
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Défini dans l'en-tête
<memory>
|
||
|
struct
allocator_arg_t
{
explicit
allocator_arg_t
(
)
=
default
;
}
;
|
(1) | (depuis C++11) |
|
constexpr
std::
allocator_arg_t
allocator_arg
{
}
;
|
(2) |
(depuis C++11)
(inline depuis C++17) |
1)
std::allocator_arg_t
est un type de classe vide utilisé pour lever l'ambiguïté des surcharges des constructeurs et des fonctions membres des objets sensibles aux allocateurs, incluant
std::tuple
,
std::function
,
std::packaged_task
,
(jusqu'à C++17)
et
std::promise
.
2)
std::allocator_arg
est une instance de
(
1
)
qui peut être transmise aux constructeurs et fonctions membres de ces types autorisés.
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 | Appliqué à | Comportement publié | Comportement corrigé |
|---|---|---|---|
| LWG 2510 | C++11 | le constructeur par défaut était non-explicite, ce qui pouvait conduire à une ambiguïté | rendu explicite |
Voir aussi
|
(C++11)
|
vérifie si le type spécifié prend en charge la construction uses-allocator
(modèle de classe) |