我已经读过stackoverflow上的几篇帖子,比如size_t和uintptr_t,而sizeof(size_t)== sizeof(void*)总是如此?并且理解根据C++标准,SIZE_T和void*的大小可以不同,以考虑诸如16位分段体系结构的体系结构.
所以我想将我的场景平台限制为Windows,无论是x86,x64,WoA(Windows on Arm):在Windows上,如果我在malloc中创建一个void*类型的指针,我想做指针 - 在将它传递给memcpy或其他东西之前的算法,我必须这样:
void* p = malloc(100); memcpy(reinterpret_cast((reinterpret_cast (p) + offset), p2, 100);
这看起来非常乏味,特别是如果你不得不在各处乱扔这种类型的铸件(我正在处理各种偏移).鉴于这是在Windows平台上,我想知道是否有一些简化可以减少这种类型的样板代码?
谢谢.