Pobrałem bazę kodu Chromium i przeszukałem numer WTF namespace.wtf to WTF? (w bazie kodu 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
Czy to oznacza, co myślę, że oznacza? Możliwe, że implementacja podana tutaj bitwise_cast
nie zostanie skompilowana, jeśli TO
lub FROM
nie jest i nie jest (AFAIK) silniejsza niż C++ zbudowana w reinterpret_cast
.
Jedyny punkt światła, który widzę tutaj, to nikt nie wydaje się używać bitwise_cast
w projekcie Chromium.
dobrym pomysłem zacytować „Brak gwarancji” część. – MSalters
@KennyTM zobacz http://meta.stackexchange.com/questions/45844/is-the-tag-wtf- dopuszczalny do dyskusji na temat oznaczania tego pytania. – Earlz
Wow, ta klasa nie jest opisana przez "Web Template Framework . " To tylko wygodny skrót. – macetw