int *p = new (temp) int;
이런식으로
여기서 쓰이는 (temp)의 역활이 무엇인가요?
책을봐도 잘나와있지 않아서 어떨때 어떻게 쓰이는지 잘모르겠네요..
잘 쓰이지 않는 기법인데다 사용자정의형이 아닌 int를 대상으로는 더욱 쓰이지 않는 기술입니다. 어디서 보신거죠?
C++ 기초플러스 최신판과 More Effective C++ 같은 책에서 보실 수 있습니다.
이미 확보되었지만 초기화되지 않은 공간 temp에 생성자를 적용하여 객체를 초기화하기 위한 기술입니다. 그러다보니 int같은 내장형(built-in type)에는 잘 쓰이지 않습니다.
만일 사용자정의형에 default 생성자를 만들고 싶지 않다면 new로 배열을 생성할 때 초기화하는 방법이 없기 때문에 operator new와 함께 쓰이는 기술로 알고 있습니다.
C++ 기초플러스는 사용례가 잘못된 느낌이더군요...
기초플러스에서 보고 말씀드린거였습니다 ^^
후자에 알려주신 책참고해보겠습니다,
이외에 참고할만한 문서나 책있으면 알려주세요, 감사합니다!
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
위치지정(placement) new 로군요.
잘 쓰이지 않는 기법인데다 사용자정의형이 아닌 int를 대상으로는 더욱 쓰이지 않는 기술입니다.
어디서 보신거죠?
C++ 기초플러스 최신판과 More Effective C++ 같은 책에서 보실 수 있습니다.
이미 확보되었지만 초기화되지 않은 공간 temp에 생성자를 적용하여 객체를 초기화하기 위한 기술입니다.
그러다보니 int같은 내장형(built-in type)에는 잘 쓰이지 않습니다.
만일 사용자정의형에 default 생성자를 만들고 싶지 않다면 new로 배열을 생성할 때
초기화하는 방법이 없기 때문에 operator new와 함께 쓰이는 기술로 알고 있습니다.
C++ 기초플러스는 사용례가 잘못된 느낌이더군요...
감사합니다,
기초플러스에서 보고 말씀드린거였습니다 ^^
후자에 알려주신 책참고해보겠습니다,
이외에 참고할만한 문서나 책있으면 알려주세요, 감사합니다!
댓글 달기