智能指针的使用注意事项

匿名 (未验证) 提交于 2019-12-02 23:34:01

因为智能指针是通过引用计数的方式来进行判断何时进行析构的,

1)所以不要对含有智能指针的结构体进行memcpy,因为memcpy不会增加引用计数,从而导致错误;

2)不要对智能指针本身进行memcpy,同样因为memcpy不会增加引用计数,从而导致错误;

3)如果结构体中放有智能指针,则注意不要使用memecpy等防止进行内存拷贝,如果要发生内存拷贝,就应该放普通指针;

结构体设计时就要考虑到该结构体被谁使用,有几份等因素,来决定结构体中是否需要放结构体对象还是结构体指针,另外结构体中放指针时,尽量使用普通指针,便于维护;

结构体中,智能指针和普通指针可以并存;但是联合体中就不能放智能指针了,因为智能指针是模板类,大小不是四个字节,不好估计其大小。

文章来源: https://blog.csdn.net/dbdxnuliba/article/details/90286748
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!