关于C/C++结构体深拷贝的思考

1.问题的产生:

结构体中有指针,而指针指向的对象大小,无法通过结构体sizeof(struct XXX)精确获取,导致结构体对拷时只进行“形拷”而非“真拷”:

2.C++中示例:

关于C/C++结构体深拷贝的思考_第1张图片

 

关于C/C++结构体深拷贝的思考_第2张图片

3.常规解决方法:

如2中的深拷贝,特意构造一个‘深拷贝’专用函数,每次结构体变化时需要对该函数进行调整,不能彻底解决问题。

4.设想的脑洞大开彻底解决方法:

4.1.结构体定义时自我表达大小(浪费点表达大小的数据空间);

4.2.构造递归执行深拷贝函数,直至将拷贝对象里包含的内容全部揪出来拷贝一份,而非仅拷贝地址非内容。

 

你可能感兴趣的:(C,LINUX,c++,html5,html)