[C++] 일반적인 new vs Placement new

·
C++
일반적인 new 연산자 Class *p = new Class(10);동작 과정1. 메모리 할당 (malloc)2. 생성자 호출3. 주소 반환=> 메모리 + 생성자 호출을 모두 수행 Placement newvoid* buffer = malloc(sizeof(Class));Class* p = new(buffer) Class(10); // 메모리 할당 + 생성자 호출 placement new -> 메모리 할당 생략, 이미 할당된 buffer에 객체 생성 void* operator new(std::size_t, void* place) noexcept { return place; } 즉, new(buffer) 는 opeartor new(sizeof(Class), buf..