Allocator 구현해보다가 생성자 호출이 도저히 안되겠어서 레퍼런스를 찾아봤는데 대충 저렇게 되어있다고 함

그런데 봐도 모르겠는 부분이 있어서 질문 점 하겠읍니다.


1. 앞의 부분은 void*형으로 바꿔서 new 연산자를 사용하는 거 같은데 메모리 동적 할당은 일어나지 않는 것인가?

일어나지 않는다면 왜 그런 것인가? 생성자는 new 연산자가 있으면 호출되는 건 알겟음


2. 뒷부분은 forward를 사용해서 rvalue lvalue 구분해가지고 인자로 넘기는 거 같은데 문제는 이런 문법은 어디서 난 것인가?

만약 인자로 들어온 게 int형 인자 하나였다면 new((void*) p ) T((int)value);가 되었을 텐데

이렇게 중간이 나눠진 방식으로 인자가 대입된다는 건 보지못했음..


고수님들의 답변 기다리겠읍니다