shared_ptr大小与线程安全
std::shared_ptr只有两个指针数据成员,sizeof(std::shared_ptr)=16,一个是Ptr裸指针在x64上是8字节,另外一个是_Ref_count_base对象的指针是8字节。两个加起来16字节。该对象有两个成员_Uses和_Weaks。这个对象是在std::make_shared时候创建的,可以在源码中查看到。控制块的操作是原子操作,是线程安全的,但是管理的数据对象本身的操作一般不是线程安全的。
shared_ptr大小与线程安全
于 2024-08-29 22:08:46 首次发布