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
这里指定的执行将不会编译如果任一TO
或者FROM
是不是一个POD,而不是(据我所知)比C ++强大的内置reinterpret_cast
。
我在这里看到的唯一亮点是bitwise_cast
Chromium项目中似乎没有人在使用。