標準の型変換

多くの C および C++ 演算子によって、 式の型を変更する暗黙の型変換 が行われます。 異なるデータ型の値を足す時、まず、両方の値を共通の形式に変換します。 例えば、short int の値と int の値を加算する場合、short int の値を int 型に変換します。 オリジナルのオブジェクトの値が、より短い型によって表すことができる範囲を超えている場合、 データの損失が生じます。

暗黙の型変換は、以下の場合に行われます。

C スタイル・キャスト、C++ 関数スタイル・キャスト、または C++ キャスト演算子 の 1 つを使用して、 明示的な型変換を行うことができます。

#include <iostream>
using namespace std;
 
int main() {
  float num = 98.76;
  int x1 = (int) num;
  int x2 = int(num);
  int x3 = static_cast<int>(num);
 
  cout << "x1 = " << x1 << endl;
  cout << "x2 = " << x2 << endl;
  cout << "x3 = " << x3 << endl;
}

次に、上記の例の出力を示します。

x1 = 98
x2 = 98
x3 = 98

整数 x1 には、C スタイル・キャストを使用して 明示的に numint に変換した値が代入されます。整数 x2 には、関数スタイル・キャストを使用して変換された値が代入されます。 整数 x3 には、static_cast 演算子を使用して変換された値が代入されます。

関連参照

IBM Copyright 2003