static cast
提供: C++入門
スポンサーリンク
C++のキャストで使われるstatic_cast(静的なキャスト)は、一般的なキャストを行います。intからlong、intからdouble、列挙型からintなどの型変換です。 int*からchar*などのポインタ型の変換は行えません。ポインタ同士のキャストには、reinterpret_castを使用します。
読み方
- static_cast
- こんすと きゃすと
概要
C++のstatic_castは、静的な型の式を別の静的な型のオブジェクトの値に変更します。 式vを型Tに変換します。
static_cast<T><v>;
int i = 0; double d = 1.2; i = static_cast<int>(d);
コンパイル時に評価され、キャストできない場合は、コンパイルエラーになります。
static_castは、char*からconst char*に変換できます。しかし、const char * から char* に変換できません。その場合は、const_castを使用してください。
static_castの使用例
ソースコード static_cast.cc
#include <iostream> #include <cstdlib> using namespace std; int main (int argc, char *argv[]) { int i = 100; long l = static_cast <long> (i); exit (EXIT_SUCCESS); }
コンパイル
g++ static_cast.cc -o static_cast
実行例
特に出力はありません。
% ./static_cast
関連項目
- キャスト
- const_cast
- dynamic_cast
- reinterpret_cast
- static_cast
- std::static_pointer_cast
- std::const_pointer_cast
- std::dynamic_pointer_cast
ツイート
スポンサーリンク