std::uninitialized_construct_using_allocator
Материал из cppreference.com
Определено в заголовочном файле <memory> | ||
template<class T, class Alloc, class... Args> constexpr T* uninitialized_construct_using_allocator( T* p, | (начиная с C++20) | |
Создаёт объект заданного типа T
с помощью конструирования с использованием аллокатора в неинициализированном месте памяти, указанном p.
Эквивалентно
returnstd::apply([&]<class... Xs>(Xs&&...xs){returnstd::construct_at(p, std::forward<Xs>(xs)...);}, std::uses_allocator_construction_args<T>(alloc, std::forward<Args>(args)...));
Содержание |
[править]Параметры
p | — | место в памяти, куда будет помещён объект |
alloc | — | аллокатор для использования |
args | — | аргументы для передачи конструктору класса T |
[править]Возвращаемое значение
Указатель новый созданный объект типа T
.
[править]Исключения
Может сгенерировать любое исключение, созданное конструктором класса T
, обычно включая std::bad_alloc.
[править]Пример
Этот раздел не завершён Причина: нет примера |
[править]Смотрите также
(C++11) | проверяет, поддерживает ли указанный тип конструирование с uses_allocator (шаблон класса) |
(C++20) | создаёт объект данного типа с помощью конструирования с использованием аллокатора (шаблон функции) |