std:: allocator_arg, std:: allocator_arg_t
From cppreference.net
C++
Memory management library
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовочном файле
<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 | конструктор по умолчанию был неявным, что могло приводить к неоднозначности | сделан явным |
Смотрите также
|
(C++11)
|
проверяет, поддерживает ли указанный тип uses-allocator конструирование
(шаблон класса) |