Вопрос

Я скачал базу кода Chromium и наткнулся на пространство имен WTF .

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 и не является (AFAIK) более мощным, чем встроенный в C ++ reinterpret_cast .

Единственная точка зрения, которую я вижу здесь, это то, что никто не использует bitwise_cast в проекте Chromium.

Это было полезно?

Решение

Это сокращение от W eb T emplate F , а также предоставляет часто используемые функции по всей базе кода WebKit.

scroll top