new 뒤에오는 ( ) 대해 질문입니다

kdh6429의 이미지

int *p = new (temp) int;

이런식으로

여기서 쓰이는 (temp)의 역활이 무엇인가요?

책을봐도 잘나와있지 않아서 어떨때 어떻게 쓰이는지 잘모르겠네요..

winner의 이미지

잘 쓰이지 않는 기법인데다 사용자정의형이 아닌 int를 대상으로는 더욱 쓰이지 않는 기술입니다.
어디서 보신거죠?

C++ 기초플러스 최신판과 More Effective C++ 같은 책에서 보실 수 있습니다.

이미 확보되었지만 초기화되지 않은 공간 temp에 생성자를 적용하여 객체를 초기화하기 위한 기술입니다.
그러다보니 int같은 내장형(built-in type)에는 잘 쓰이지 않습니다.

만일 사용자정의형에 default 생성자를 만들고 싶지 않다면 new로 배열을 생성할 때
초기화하는 방법이 없기 때문에 operator new와 함께 쓰이는 기술로 알고 있습니다.

C++ 기초플러스는 사용례가 잘못된 느낌이더군요...

kdh6429의 이미지

기초플러스에서 보고 말씀드린거였습니다 ^^

후자에 알려주신 책참고해보겠습니다,

이외에 참고할만한 문서나 책있으면 알려주세요, 감사합니다!