プログラミングにおける型変換のうち、プログラマーが明示的に記述して行うものを指します。
たとえば、10 + 2.5
のような式では、1つの演算子(+
)のオペランドが整数型と浮動小数点型になっており、一致していません。ルールはプログラミング言語によって異なりますが、コンパイラは両者の型を揃えてから演算を行えるように、10
を 10.0
という浮動小数点型に変換します(これを暗黙の型変換と呼ぶ)。演算結果を整数型の変数に受け取りたい場合に(これもプログラミング言語の文法によって異なりますが)a = (int)(10 + 2.5)
のような記述で型を明示して、強制変換することができます。これが明示的な型変換(キャスト)です。
キャストという用語が、暗黙の型変換も含んだ型変換全般のことを指しているケースもあります。
この明示的な型変換の例では、本来なら 12.5 であったはずの演算結果を、12 として受け取ることになります。つまり、型を強制的に変換できるからといって、変換前の値がそのまま維持される保証はありません(こういった、情報が失われる可能性がある型変換を、縮小変換と呼びます)。明示的な型変換は、プログラマーの責任の下で行う必要があります。
C言語におけるキャストについての解説が、C言語編21章に、C++ のキャストについての解説が、新C++編「符号無し整数」にあります。
Programming Place Plus のトップページへ
はてなブックマーク に保存 | Pocket に保存 | Facebook でシェア |
X で ポスト/フォロー | LINE で送る | noteで書く |
RSS | 管理者情報 | プライバシーポリシー |