Namespaces
Variants

std::allocator<T>:: construct

From cppreference.net
Memory management library
( exposition only* )
Allocators
Uninitialized memory algorithms
Constrained uninitialized memory algorithms
Memory resources
Uninitialized storage (until C++20)
( until C++20* )
( until C++20* )
( until C++20* )

Garbage collector support (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
(C++11) (until C++23)
Определено в заголовочном файле <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]
создает объект в выделенной памяти
(шаблон функции)
создает объект по заданному адресу
(шаблон функции)
функции выделения памяти
(функция)