使用数组和一些方法memcpy struct是否安全?

Bar*_*zar 5 c++ arrays struct

我想知道在包含数组和方法的结构上使用memcpy是否安全(只是一些getter和setter,因为数组的索引是不寻常的,我必须以某种方式映射它).我知道它对POD是安全的,我不确定我的结构是否会被认为是POD?

R S*_*ahu 10

memcpy如果structTriviallyCopyable,您可以使用.

你可以struct通过使用来检查你是否可以轻易地复制std::is_trivially_copyable.

另外,正如@JohanLundberg在评论中指出的那样,目标地址必须是0模数std::alignment_of<T>.您可以在http://en.cppreference.com/w/cpp/language/object#Alignment上阅读有关对象对齐要求的更多信息.