Namespaces
Variants

std::allocator<T>::construct

출처: ko.cppreference.net
 
 
메모리 관리 라이브러리
할당자
메모리 리소스
초기화되지 않은 저장소 (C++20까지*)
가비지 컬렉터 지원 (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에서 제거됨)

전역 placement-new를 사용하여, T 타입의 객체를 p가 가리키는 할당된 초기화되지 않은 저장소에 생성합니다.

1) ::new((void*)p) T(val)을 호출합니다.
2) ::new((void*)p) U(std::forward<Args>(args)...)을 호출합니다.

매개변수

p - 할당되었으나 초기화되지 않은 저장 공간을 가리키는 포인터
val - 복사 생성자 인수로 사용할 값
args... - 사용할 생성자 인수들

결함 보고서

다음의 동작 변경 결함 보고서들은 이전에 발표된 C++ 표준에 소급 적용되었습니다.

DR 적용 대상 게시된 동작 올바른 동작
LWG 402 C++98 T :: operator new 가 존재할 경우, 프로그램이 비정형일 수 있음 전역 replacement-new를 대신 사용함

참고 항목

[static]
할당된 저장 공간에 객체를 생성함
(함수 템플릿)
주어진 주소에 객체를 생성함
(함수 템플릿)
할당 함수들
(함수)