C++ 什么';“~uintpttr_t(value)`方法体的意思是什么?C++;
我最近读过objc运行时源代码,上面的代码让我很困惑。首先它将C++ 什么';“~uintpttr_t(value)`方法体的意思是什么?C++;,c++,C++,我最近读过objc运行时源代码,上面的代码让我很困惑。首先它将值转换为类型uintptr\t。然后对结果值进行位求反(补码) 函数中的代码基本上与 typedef uintptr_t disguised_ptr_t; inline disguised_ptr_t DISGUISE(id value) { return ~uintptr_t(value); } 将值转换为足以容纳指针的无符号整数,然后取其1-补码。~是 uintptr_t temporary = value; return ~t
值
转换为类型uintptr\t
。然后对结果值进行位求反(补码)
函数中的代码基本上与
typedef uintptr_t disguised_ptr_t;
inline disguised_ptr_t DISGUISE(id value) { return ~uintptr_t(value); }
将值转换为足以容纳指针的无符号整数,然后取其1-补码。
~
是
uintptr_t temporary = value;
return ~temporary;