11

重複の可能性:
通常のキャスト vs. static_cast vs. dynamic_cast
C++ では、(int)x の代わりに static_cast<int>(x) を使用するのはなぜですか?

static_cast<float>(foo)とはどう違いfloat(foo)ますか?static_cast<float>テンプレートコードで、任意の整数型から特定の整数型に取得するためによく見かけます。たとえば、任意の整数型で浮動小数点除算を実行する関数が必要だとします。私は通常、次のようなものを見ます:

template <typename T>
float float_div(T lhs, T rhs)
{
    // I normally see this
    return static_cast<float>(lhs) / static_cast<float>(rhs);

    // But I could do this
    // return float(lhs) / float(rhs); // But I could do this
}

orを使用する利点はありますfloat(lhs)static_cast<float>(lhs)? float(lhs)また、初期化/変換の名前は何ですか?

4

0 に答える 0