概述
之前写过一篇c++的智能指针的,这篇写下ue的。本质上来说是差不多的,可以简单看看。
TSharedPtr
如下图:
这个就是一个类,2个参数,第二个参数支持线程安全。
TSharedPtr包含2部分
如下图:
TSharedPtr主要包含2个部分,一个是对应类模板的对象,另外一个是支持计数的。然后底层用c++的方式实现了,来看下;
如下图:
要看具体的,还要往底层看;
如下图:
再来看看具体的增加和减少计数器的位置,
如下图:
构造,析构,拷贝构造,移动构造
写完计数器,开始写下边的了。也就是一个类最基本的那些了。放到TSharedPtr这个类模版里,如下:
构造
拷贝构造
移动构造
当然,每个里边都有很多形式,不一一列举。只是举了几个例子,有兴趣,可以自己去看看。还有一些操作符,
如下图:
小结
看过这个,对于TSharedPtr,应该是知道怎么回事了。有时间再去看看TWeakPtr,TUniquePtr,一步一步来分析,看看到底有什么好玩的东西。OK,结束。