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

时间:2015-11-16 21:28:41

标签: c++ arrays struct

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

1 个答案:

答案 0 :(得分:10)

如果memcpyTriviallyCopyable,则可以使用struct

您可以使用std::is_trivially_copyable检查struct是否可以轻松复制。

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