Descargué la base de código de Chromium y me encontré con el WTF namespace.wtf es WTF? (en la base de código WebKit)
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
¿Esto significa lo que creo que significa? Podría ser así, la implementación bitwise_cast
especificada aquí no se compilará si TO
o FROM
no es un POD y no es (AFAIK) más poderoso que C++ construido en reinterpret_cast
.
El único punto de luz que veo aquí es que nadie parece estar usando bitwise_cast
en el proyecto Chromium.
probablemente una buena idea para citar la parte "SIN GARANTÍAS". – MSalters
@KennyTM, consulte http://meta.stackexchange.com/questions/45844/is-the-tag-wtf-acceptable para obtener una explicación sobre cómo etiquetar esta pregunta – Earlz
Vaya, esa clase no está descrita por "Web Template Framework" " Es solo una abreviatura conveniente. – macetw