◐ Shell
clean mode source ↗

std::uninitialized_construct_using_allocator — cppreference.com

Материал из 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.

Пример

Смотрите также