Chromiumのコードベースをダウンロードして、 WTF名前空間に出くわしました。
namespace WTF {
/*
* C++'s idea of a reinterpret_cast lacks sufficient cojones.
*/
template<typename TO, typename FROM>
TO bitwise_cast(FROM in)
{
COMPILE_ASSERT(sizeof(TO) == sizeof(FROM), WTF_wtf_reinterpret_cast_sizeof_types_is_equal);
union {
FROM from;
TO to;
} u;
u.from = in;
return u.to;
}
} // namespace WTF
これは私がそれが意味すると思うことを意味しますか?そうかもしれませんが、bitwise_cast
ここで指定された実装は、PODであるか、PODでなく、組み込みのC ++よりも強力ではない(AFAIK)場合はコンパイルTO
さFROM
れませんreinterpret_cast
。
ここで私が目にする唯一の光点はbitwise_cast
、Chromiumプロジェクトで誰も使用していないように見えることです。