• 카테고리

    질문 & 답변
  • 세부 분야

    게임 프로그래밍

  • 해결 여부

    미해결

reinterpret_cast질문이있습니다.

22.04.28 22:35 작성 조회수 225

0

template<typename T>

BufferWriter& BufferWriter::operator<<(const T& src)

{

*reinterpret_cast<T*>(&_buffer[_pos]) = src;

_pos += sizeof(T);

return *this;

}

reinterpret_cast c++강의에서 아주 강력한 변환 

포인터랑 정수사이도 변환이 가능하고.. 다 가능한 변환 느낌이었는데 앞에*를 붙여주는 이유가 궁금합니다.

*reinterpret_cast<T*>(&_buffer[_pos]) = src;

===========================

T*로 변환하는데 src가 참조라서 *를 한번 더 붙여주신건가요?

 

 

답변 1

답변을 작성해보세요.

1

네 그렇습니다. 포인터 역참조를 할 때 *을 붙이는 것과 동일합니다.
단계별로 나눠서 쓰자면
1) T* temp = reinterpret_cast<T*>(...)
2) *temp = ...

요런 느낌이죠.

lon님의 프로필

lon

2022.04.28

감사합니다!