값 타입캐스트

값 타입캐스트 (Value typecasts)

때로는 식이나 식의 일부의 타입을 바꿔서 대입 호환이 되게 해야 할 때가 있어요. 이때 값 타입캐스트(value typecast)를 사용해요.

출처: Free Pascal Reference - Value typecasts

본문

값 타입캐스트는 변수 타입캐스트와 달리 대입의 왼쪽에는 쓸 수 없어요. 다음은 유효한 타입캐스트 몇 가지예요.

Byte('A')
Char(48)
boolean(1)
longint(@Buffer)

일반적으로 식의 타입 크기와 타입캐스트 대상 타입의 크기는 같아야 해요. 다만 서수 타입(byte, char, word, boolean, enumeration)에서는 그렇지 않아요. 이들은 서로 바꿔 쓸 수 있어요. 즉, 크기가 맞지 않아도 다음은 동작해요.

Integer('A');
Char(4875);
boolean(100);
Word(@Buffer);

이 동작은 Delphi나 Turbo Pascal과 호환돼요.

더 알아보기

  • 변수에 대한 타입캐스트는 변수 타입캐스트 섹션에서 다뤄요.
  • 메모리 정렬과 관련된 특수한 타입캐스트는 비정렬 타입캐스트 섹션에서 확인할 수 있어요.