J'ai téléchargé la base de code Chromium et a couru à travers le WTF namespace.wtf est WTF? (dans la base de code 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
Est-ce que cela signifie ce que je pense que cela signifie? Pourrait être ainsi, l'implémentation bitwise_cast
spécifiée ici ne compilera pas si TO
ou FROM
n'est pas un POD et n'est pas (AFAIK) plus puissant que C++ intégré dans reinterpret_cast
.
Le seul point de lumière que je vois ici est que personne n'utilise bitwise_cast
dans le projet Chromium.
probablement une bonne idée de citer la partie « sans GARANTIE ». – MSalters
@KennyTM s'il vous plaît voir http://meta.stackexchange.com/questions/45844/is-the-tag-wtf-acceptable pour une discussion sur la façon d'étiqueter cette question – Earlz
Wow, cette classe n'est pas décrite par "Web Template Framework" " C'est juste une abréviation pratique. – macetw