キャストについてのコードを少し説明してもらえますか?http://en.cppreference.com/w/cpp/types/aligned_storage?std :: aligned_storageのstatic_castとreinterpret_cast
次のコード
return *static_cast<const T*>(static_cast<const void*>(&data[pos]));
は
return *reinterpret_cast<const T*>(&data[pos]);
に置き換えることができますか?
なぜ2つのキャスティングが使用されるのですか? ありがとうございました。標準によれば香港
これは、 'reinterpret_cast'の結果が標準で指定されていないため、適切な移植性/標準適合性のために必要なものと思われます。実際には、おそらくすべての実装やほぼすべての実装で同じことをするでしょう。 –
2つはC++ 11で同等です。 – Simple
@SteveJessop:私はそれが答えだと思います。 –