1.问题的产生:
结构体中有指针,而指针指向的对象大小,无法通过结构体sizeof(struct XXX)精确获取,导致结构体对拷时只进行“形拷”而非“真拷”:
2.C++中示例:
3.常规解决方法:
如2中的深拷贝,特意构造一个‘深拷贝’专用函数,每次结构体变化时需要对该函数进行调整,不能彻底解决问题。
4.设想的脑洞大开彻底解决方法:
4.1.结构体定义时自我表达大小(浪费点表达大小的数据空间);
4.2.构造递归执行深拷贝函数,直至将拷贝对象里包含的内容全部揪出来拷贝一份,而非仅拷贝地址非内容。