작성
·
172
0
강의 정말 잘 보고있습니다.
6분대 참조 타입 변환에서 궁금 한 부분이 한가지 있습니다.
{
int a = 123456789; // 2의 보수로 데이터 저장
float b = (float&)a; // 부동소수점(지수 + 유효숫자)
cout << b << endl;
}
위에 코드를 설명하시면서 int a 를 참조 타입 변환을 통해
float b에 넣으신다고 설명하시는데 참조 타입 변환을 한다면
받는쪽에 타입도 float이 아니라 float&가 아니여야 하는지 궁금합니다
저런식으로 하면 참조 타입으로 받는게 아니라 참조 타입으로 변환 후 값 형식으로 float b에 넣어져서 서로 참조관계가
아니지 않은가요?
답변 1
0
정확히 말하면 참조 타입 변환을 한 다음, 그 값을 다시 복사한 것이고,
float& b로 하나 float b로 하나 결과가 다르진 않습니다.
(float&)a;
이 부분에서 a를 float 값으로 간주한다는 것이 핵심이죠.