ぼく用あれこれまとめ

reinterpret_cast演算子

最終更新:

bokuyo

- view
管理者のみ編集可

reinterpret_cast演算

  • 日本語で言うと、「強制キャスト」というらしい。
  • 強制キャストは名前のごとく安全性がとてつもなく低い。
  • そして、定義が処理系ごとに違うから移植性は保証されないの。
  • できるだけ使わないで>< どうしてもってときだけ使ってね。
  • 無関係なポインタ間、ポインタと整数型間などのcastを行う。
    • void*へのcastは暗黙的に行われる。void*以外の値型へのポインタのcastする場合はreinterpret_cast。
    • void*から他の値型へとcastする場合はstatic_castが使える。

reinterpret_cast演算子を使わずに、void*を経由したcastの仕方。

int main()
{
	int unco = 0;
	int* eureka = &unco;				//ここで初期化せず、適当な番地を入れてると
	void* renton = eureka;				//キャスト時にランタイムエラーが発生する。
	float* anemone = static_cast<float*>(renton);	//こちらもランタイムエラーが発生する。

	return 0;
}




参考文献

記事メニュー
目安箱バナー