我想知道是否有一个很好的方法来解决这个问题,而不需要做大量的副本。C++ - reinterpret_cast从缓冲区键入
比方说,我有一个字节缓冲区,我保存了很多东西。我将正确保存4个字节的整数在那里和浮动等。
现在,如果我的整数保存在缓冲区中的位置0x0001,有没有办法我可以创建一个int *并将其指向该位置?
我曾尝试:
int* ptr = reinterpret_cast<int*>(&data.dataPtr);
和dataPtr是const char*
其中OFC持有地址在缓冲区内我的整数。
在我的转换ptr保存dataPtr的地址后,当我解引用ptr时,它会打印dataPtr的地址。我应该再次使用static_cast或reinterpret_cast来获取整数吗?
这甚至可能没有遇到未定义的行为?
哦,男人欢呼,我很困惑自己很多,你是最好的。 – Mamma