C/C++ 自定义结构体直接用自定义结构体=赋值
自定义结构体中没有管理堆空间对象的指针
struct st_t { int a; short b; char c; char s[128] = {0}; };
对比使用 = 和 memcpy 的汇编代码
结论
两者均调用了memcpy,结构体中不带指针(管理堆空间),可以直接使用浅拷贝,不过个人倾向后者,显式调用memcpy。
自定义结构体中没有管理堆空间对象的指针
struct st_t { int a; short b; char c; char s[128] = {0}; };
对比使用 = 和 memcpy 的汇编代码
结论
两者均调用了memcpy,结构体中不带指针(管理堆空间),可以直接使用浅拷贝,不过个人倾向后者,显式调用memcpy。