将字节数组转换为多维数组

Casting byte array to multi-dimentional array

本文关键字:数组 转换 字节数 字节      更新时间:2023-10-16

我有一个从流字符* Buf序列化的字节数组,该数组指向一个64字节的数组。

我希望将其转换为函数输入参数Foo(char[4][16] Buf(,而无需复制每个字节。

这样做容易吗?

您可以将任何缓冲区强制转换为所需的任何数组:

void Foo(char(&buf)[4][16])
{
}
int main()
{
char* buf = new char[64];
Foo((char(&)[4][16])(buf));
delete[] buf;
return 0;
}

我在Michael Chourdakis给出的链接中找到了答案

*reinterpret_cast<char(*)[4][16]>(Buf)