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)
Определено в заголовочном файле <memory>
struct allocator_arg_t { explicit allocator_arg_t ( ) = default ; } ;
(1) (начиная с C++11)
constexpr std:: allocator_arg_t allocator_arg { } ;
(2) (начиная с C++11)
(inline начиная с C++17)
1) std::allocator_arg_t — это пустой классовый тип, используемый для разрешения неоднозначности перегруженных конструкторов и методов аллокатор-осведомленных объектов, включая std::tuple , std::function , std::packaged_task , (до C++17) и std::promise .
2) std::allocator_arg является экземпляром ( 1 ) , который может передаваться в конструкторы и функции-члены таких разрешенных типов.

Отчеты о дефектах

Следующие отчеты об изменениях поведения, влияющие на дефекты, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Применяется к Поведение в опубликованной версии Корректное поведение
LWG 2510 C++11 конструктор по умолчанию был неявным, что могло приводить к неоднозначности сделан явным

Смотрите также

проверяет, поддерживает ли указанный тип uses-allocator конструирование
(шаблон класса)