C/C++ 自定义结构体直接用自定义结构体=赋值

仓隽 / 2023-04-28 / 原文

自定义结构体中没有管理堆空间对象的指针

struct st_t
{
    int a;
    short b;
    char c;
    char s[128] = {0};
};

对比使用 = 和 memcpy 的汇编代码

 

结论

 两者均调用了memcpy,结构体中不带指针(管理堆空间),可以直接使用浅拷贝,不过个人倾向后者,显式调用memcpy。