Namespaces
Variants

std::allocator<T>::construct

Из ru.cppreference.net
 
 
Библиотека управления памятью
Распределители
Ресурсы памяти
Неинициализированное хранилище (до C++20*)
Поддержка сборщика мусора (до C++23)
 
std::allocator
Функции-члены
(до C++20)
(до C++20)
Функции, не являющиеся членами
 
Определяется в заголовке <memory>
void construct( pointer p, const_reference val );
(1) (до C++11)
template< class U, class... Args >
void construct( U* p, Args&&... args );
(2) (начиная с C++11)
(устарело в C++17)
(удалено в C++20)

Конструирует объект типа T в выделенном неинициализированном хранилище, на которое указывает p, используя глобальный placement-new.

1) Вызывает ::new((void*)p) T(val).
2) Вызывает ::new((void*)p) U(std::forward<Args>(args)...).

Параметры

p - указатель на выделенную неинициализированную память
val - значение для использования в качестве аргумента конструктора копирования
args... - аргументы конструктора для использования

Отчеты о дефектах

Следующие отчеты об изменениях в поведении, содержащие описания дефектов, были применены ретроактивно к ранее опубликованным стандартам C++.

DR Applied to Behavior as published Correct behavior
LWG 402 C++98 if T :: operator new exists, the program might be ill-formed uses global replacement-new instead

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

[static]
создает объект в выделенной памяти
(шаблон функции)
создает объект по заданному адресу
(шаблон функции)
функции выделения памяти
(функция)