wtf是WTF?(在WebKit代码库中)

Mot*_*tti 89 c++ webkit chromium

我下载了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
Run Code Online (Sandbox Code Playgroud)

这是否意味着我的意思?可能是这样,bitwise_cast如果POD中的任何一个TOFROM不是POD并且不是(AFAIK)比内置的C++更强大,那么这里指定的实现将不会编译reinterpret_cast.

我在这里看到的唯一亮点就是没有人似乎bitwise_cast在Chromium项目中使用.

ism*_*ail 79

它是W eb T emplate F ramework的简称,它提供了遍布WebKit代码库的常用功能.

  • 如"每日网页模板框架?" (20认同)
  • 就像在C++模板中做常见的东西:) (2认同)

小智 5

这是为了避免严格别名优化问题:

gcc,严格别名,并通过联合进行转换