"~uintptr_t(值)"方法主体是什么意思?C++


typedef uintptr_t disguised_ptr_t;
inline disguised_ptr_t DISGUISE(id value) { return ~uintptr_t(value); }

我最近读了objc运行时的源代码,上面的代码让我很困惑

首先,它将value转换为类型uintptr_t。然后,它对结果值进行逐位求反(补码(。

函数中的代码基本上等同于

uintptr_t temporary = value;
return ~temporary;

最新更新