C++でのstatic_castの使い方はどうですか?

C++において、static_castは静的キャストを実行するための型変換演算子です。コンパイル時に型チェックを行い、関連する型間でのみ変換が可能です。

static_castの基本的な構文は以下のようです:

static_cast<目标类型>(源表达式)

目标类型是源表达式转换之后的类型。源表达式可以是任何可转换的类型,例如指针、引用、基本数据类型等。

以下は使用例の一部です:

  1. 基本データ型の変換:
int num = 10;
double num_double = static_cast<double>(num);
  1. ポインターの型変換:
int* ptr = new int(10);
void* void_ptr = static_cast<void*>(ptr);
  1. 引用型の変換:
int num = 10;
double& num_ref = static_cast<double&>(num);

静的キャストはすべての種類の変換を実行できないので、制限があります。たとえば、定数性を削除したり、ポインタを関連のない型に変換したりすることはできません。これらの場合には、const_cast、reinterpret_castなどの他の型変換演算子を使用することができます。

bannerAds