작성
·
223
0
// [2] 참조 타입 변환
// 특징) 비트열을 재구성하지 않고, '관점'만 바꾸는 것
// 거의 쓸일은 없지만, 포인터 타입 변환도 '참조 타입 변환' 동일한 룰을 따르니까 1석2조로 공부하자
{
int a = 123456789; // 2의 보수
float b = (float&)a; // 부동소수점(지수 + 유효숫자)
cout << b << endl;
}
강의중 나왔던 코드입니다.
float b = (float&)a; 의 문법이 이해가 잘 안됩니다..ㅠㅠ
float타입의 b변수에 왜 float& (<<< 저는 이걸 주소라고 생각하고있습니다.) 형변환을 해서 넘기는지 모르겠습니다.
a를 float주소형태???? 로 변환?? 이게 잘 이해가안됩니다..
저렇게 해서 넘기면 b에는 포인터처럼 주소가 들어있어야 하는게 아닌가요?..
그렇다면 위에서
int a = 123456789; << 0x075bcd15 인데
(float)a 는 0x075bcd15라는 값을 부동소수점으로도 123456789가 되게끔 바꾸는거고
(float&)a는 0x075bcd15를 유지시킨채 float로 표현을한건가요?