C++ DWORD*到BYTE*

Nom*_*ski 0 c++ optimization

我的问题,我正在尝试将DWORD类型的动态内存转换为BYTE.足够公平,我可以循环这个并将DWORD转换为BYTE每个条目.

但他们这样做的速度更快吗?获取指向DWORD数据的指针并将整个数据转换为指向BYTE数据的指针?比如使用memcpy操作?

我觉得这是不可能的,我不是仅仅就我的方法请求答案,因为我已经尝试过测试这两种方法,但似乎无法在我的第二个解决方案上找到解决方案.

感谢任何输入,再次没有答案只是正确方向的一点.这也不是一个功课问题,我觉得必须提到.

cos*_*193 5

这实际上取决于你最终想要实现的目标.如果你有,例如:

DWORD *x;
x = new DWORD[100];

// x gets filled in somehow
Run Code Online (Sandbox Code Playgroud)

而你只想单独处理每个DWORD的每个字节,然后做一些像你建议的事情(即使用例如memcpy)可能是一个选项.但是,您可以使用reinterpret_cast将数组作为BYTE数组处理

BYTE *y = reinterpret_cast<BYTE *>(x);
Run Code Online (Sandbox Code Playgroud)

或类似的东西.