std:: uninitialized_construct_using_allocator
|
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Определено в заголовке
<memory>
|
||
|
template
<
class
T,
class
Alloc,
class
...
Args
>
constexpr
T
*
uninitialized_construct_using_allocator
(
T
*
p,
|
(начиная с C++20) | |
Создает объект заданного типа
T
с помощью
uses-allocator конструирования
в неинициализированной области памяти, указанной
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 construction
(шаблон класса) |
|
(C++20)
|
создаёт объект заданного типа посредством uses-allocator construction
(шаблон функции) |