我从SO上发布的一些问题中读到了这一段.
我无法弄清楚为什么memcpy不保证非POD类型的安全性.我的理解是,这memcpy只是一个有点明智的副本.
以下是标准报价
对于任何对象(比基类的其他子对象)的
POD类型T,所述对象是否保持类型的有效的值T,构成对象的底层字节(1.7)可以被复制到的阵列char或unsigned char0.41)如果阵列的内容char或unsigned char将被复制回对象,该对象随后应保持其原始值.Run Code Online (Sandbox Code Playgroud)# define N sizeof (T) char buf[N]; T obj ; // obj initialized to its original value std :: memcpy (buf , & obj , N); // between these two calls to std::memcpy, // obj might be modified std :: memcpy (& obj , buf , N); // at this point, each subobject of obj of …
c++ ×1