タグ

関連タグで絞り込む (0)

  • 関連タグはありません

タグの絞り込みを解除

ProgrammingとC++とcastに関するItisangoのブックマーク (3)

  • キャスト演算子

    C++ 言語には、固有のキャスト演算子がいくつかあります。 これらの演算子は、以前のスタイルの C 言語のキャストが持つあいまいさと危険性の一部を取り除くことを目的としています。 このような演算子を次に示します。 dynamic_cast ポリモーフィックな型の変換に使用します。 static_cast 非ポリモーフィックな型の変換に使用します。 const_cast const、volatile、および __unaligned 属性を削除するために使用します。 reinterpret_cast ビットの単純な再解釈に使用します。 safe_cast C++/CLI で検証可能な MSIL を生成するために使用します。 const_cast と reinterpret_cast の演算子には以前のスタイル キャストと同じ危険性があるため、これらは最後の手段として使用してください。 それでも

    キャスト演算子
    Itisango
    Itisango 2020/08/06
    「C++ 言語には、固有のキャスト演算子がいくつかあります。」
  • C++ のキャスト - Cube Lilac

    これは,C++プログラマであるかを見分ける10の質問 - Life like a clown の 「*_cast およびCスタイルのキャストそれぞれについて概要を説明せよ」と言う質問に対する回答的な記事です.この辺りからしばらくただの説明的なものになるのでざっと書いていきます. C++ のキャストに関しては,http://www.s34.co.jp/cpptechdoc/article/newcast/ がコンパクトに纏まっています. static_castはexprの型からtypeへの暗黙の型変換、あるいはtypeからexprへの暗黙の型変換が存在する場合にだけキャストします。キャスト不可能であればコンパイルエラーとなります。 reinterpret_castはtype(expr)が許されるなら、exprをtypeに単にキャストします。reinterpret_castは単なる型変更であり

    C++ のキャスト - Cube Lilac
  • C++の新しいキャスト

    C++の新しいキャスト 従来のキャストの問題点 異なる型への変換において、C/C++ではキャストが用いられます。 // intからlongへのキャスト int ival; int lval = (long)ival; ご存知のとおり、キャストは非常に危険です。 来ならば型の不一致によるコンパイルエラーをねじ伏せるのですから。 キャストの使われ方(意味)は、大きく3種(型変換/型変更/const外し)に分類されます。 型変換 // int から double へ int ival; double dval = (double)ival; 型変更 // long から int* へ long lval; int* iptr = (int*)lval; const外し // const int* から int* へ const int* ciptr; int* iptr = (int*)cip

    Itisango
    Itisango 2011/03/10
    複雑だなぁ、覚えられないよorz
  • 1