Ho scaricato il codice base Chromium e ho eseguito lo WTF namespace.wtf è WTF? (nella base del codice 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
Questo significa ciò che penso significhi? Potrebbe essere così, l'implementazione bitwise_cast
qui specificata non verrà compilata se TO
o FROM
non è un POD e non è (AFAIK) più potente di C++ integrato in reinterpret_cast
.
L'unico punto di luce che vedo qui è che nessuno sembra utilizzare bitwise_cast
nel progetto Chromium.
probabilmente una buona idea per citare la parte "NESSUNA GARANZIA". – MSalters
@KennyTM per favore vedi http://meta.stackexchange.com/questions/45844/is-the-tag-wtf-acceptable per una discussione su come taggare questa domanda – Earlz
Wow, quella classe non è descritta da "Web Template Framework ". È solo una comoda abbreviazione. – macetw