Namespaces
Variants

std:: allocator_arg, std:: allocator_arg_t

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)
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

vérifie si le type spécifié prend en charge la construction uses-allocator
(modèle de classe)