解決済み: static_cast

もちろん、次のようになります。

C++ プログラミングの世界では、型の変換が必要になることがよくあります。 変換は、単純なデータ型から複合型へ、派生クラスから基本クラスへ、または任意の型から他の型への変換である可能性があります。 C++ は、これらの変換を実行するための XNUMX つのキャスト メカニズム、`static_cast`、`dynamic_cast`、`reinterpret_cast`、および C++ スタイル キャストを提供します。 この記事では、「static_cast」について詳しく説明します。

C ++では、 `static_cast` はコンパイル時のキャスト演算子です。 これは主に、「double」から「int」への変換、「int」から「float」への変換など、数値データ型の変換に使用されます。ただし、その使用は数値データ型の変換だけに限定されません。

[h2] 静的キャストを理解する [/h2]

「static_cast」の構文は次のとおりです。

static_cast < new_type > (式)

ここでは、 新しいタイプ 式を変換したい型です。 式には変数、リテラル、または定数を含めることができます。

「static_cast」がどのように機能するかを段階的に説明してみましょう。

まず、コードにライブラリを含める必要があります。

#include

次に、main 関数で、整変数 'a' を宣言し、それに値 7 を代入しましょう。 次に、float 変数 'b' を 22.0 に等しいと宣言します。

int main(){
int a = 7;
浮動小数点数 b = 22.0;
}

次に、「static_cast」を使用してこれらの変数を別の型に変換します。

int main(){
...
float c = static_cast(で);
int d = static_cast(b);
}

ここでは、整数型の変数 'a' が float に変換され、変数 'c​​' に割り当てられています。 同様に、float 型の変数 'b' は整数に変換され、変数 'd' に割り当てられます。 `static_cast` 演算子 この変換はコンパイル時に実行されます。

[h2] static_cast の注意事項 [/h2]

`static_cast` は強力なツールのように思えるかもしれませんが、プログラマはそれを型変換に使用する場合には注意が必要です。 これには主に XNUMX つの理由があります。

  • `static_cast` は実行時の型チェックを実行しません。 つまり、互換性のない型を変換しようとしても、エラーはスローされません。
  • 基底クラスのオブジェクトが派生クラスの完全なオブジェクトであることを確認せずに、「static_cast」を使用して基底クラスのポインターまたは参照を派生クラスのポインターまたは参照に変換すると、誤った結果が生じる可能性があります。

要約すると、「static_cast」は C++ が提供するキャスト演算子の XNUMX つで、主に数値データ型の変換に使用されます。 ただし、誤用すると望ましくない結果が生じる可能性があるため、注意が必要です。 これらの点を念頭に置くことで、C++ プログラムで `static_cast` を効果的に使用することができます。

関連記事:

コメント