std::uninitialized_construct_using_allocator
Определено в заголовке <memory> | ||
|---|---|---|
template< class T, class Alloc, class... Args >
constexpr T* uninitialized_construct_using_allocator( T* p,
const Alloc& alloc,
Args&&... args );
| (с C++20) |
Создаёт объект заданного типа T с помощью конструирования с использованием аллокатора в указанном неинициализированном месте памяти p.
Эквивалентно
return std::apply(
[&]<class... Xs>(Xs&&...xs)
{
return std::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) | проверяет, поддерживает ли указанный тип конструирование с использованием аллокатора (шаблон класса) |
|
(C++20) | создаёт объект заданного типа с помощью конструирования с использованием аллокатора (шаблон функции) |
© cppreference.com
Licensed under the Creative Commons Attribution-ShareAlike Unported License v3.0.
https://en.cppreference.com/w/cpp/memory/uninitialized_construct_using_allocator