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