因为智能指针是通过引用计数的方式来进行判断何时进行析构的,
1)所以不要对含有智能指针的结构体进行memcpy,因为memcpy不会增加引用计数,从而导致错误;
2)不要对智能指针本身进行memcpy,同样因为memcpy不会增加引用计数,从而导致错误;
3)如果结构体中放有智能指针,则注意不要使用memecpy等防止进行内存拷贝,如果要发生内存拷贝,就应该放普通指针;
结构体设计时就要考虑到该结构体被谁使用,有几份等因素,来决定结构体中是否需要放结构体对象还是结构体指针,另外结构体中放指针时,尽量使用普通指针,便于维护;
结构体中,智能指针和普通指针可以并存;但是联合体中就不能放智能指针了,因为智能指针是模板类,大小不是四个字节,不好估计其大小。
文章来源: https://blog.csdn.net/dbdxnuliba/article/details/90286748