采用以下代码:
typedef UCHAR MY_BUFFER[6];
class MY_CLASS
{
MY_BUFFER m_buffer;
void Initialize(const MY_BUFFER* newBuffer)
{
memcpy(m_buffer, *newBuffer, sizeof(MY_BUFFER));
}
};
在上面的 Initialize 函数中,将字节从 newBuffer 复制到 m_buffer 的正确方法是正确的吗?或者 Initialize 函数应该更像这样:
void Initialize(const MY_BUFFER* newBuffer)
{
memcpy(&m_buffer, newBuffer, sizeof(MY_BUFFER));
}
最佳答案
正确的做法是:
void Initialize(const MY_BUFFER newBuffer)
{
memcpy(m_buffer, newBuffer, sizeof(MY_BUFFER));
}
memcpy
的两个参数都必须是地址。
关于c++ - 访问字节数组的 typedef 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36312505/