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.
Эквивалентно
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) |
проверяет, поддерживает ли указанный тип конструирование с uses_allocator (шаблон класса) |
(C++20) |
создаёт объект данного типа с помощью конструирования с использованием аллокатора (шаблон функции) |