std::allocator_arg
Определено в заголовке <memory> | ||
|---|---|---|
struct allocator_arg_t { explicit allocator_arg_t() = default; };
| (с C++11) | |
constexpr std::allocator_arg_t allocator_arg = std::allocator_arg_t(); |
(с C++11) (до C++17) | |
inline constexpr std::allocator_arg_t allocator_arg = std::allocator_arg_t(); | (с C++17) |
std::allocator_arg_t — это пустой тип класса, используемый для устранения неоднозначности перегрузок конструкторов и функций-членов объектов, поддерживающих выделение памяти, включая std::tuple, std::function, std::packaged_task,(до C++17) и std::promise. std::allocator_arg является константой этого типа.
Отчёты о дефектах
Следующие отчёты о дефектах, изменяющие поведение, были применены ретроактивно к ранее опубликованным стандартам C++.
| DR | Применён к | Поведение, как опубликовано | Корректное поведение |
|---|---|---|---|
| LWG 2510 | C++11 | Конструктор по умолчанию был неявным, что могло привести к неоднозначности | сделано явным |
См. также
|
(C++11) | проверяет, поддерживает ли указанный тип конструкцию с использованием выделения памяти (шаблон класса) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/allocator_arg