请你来说一下智能指针shared_ptr的实现
真正的shared_ptr构造还会有个Deleter的参数,用于确保shared_ptr<void>所指对象能够正确析构 此外管理块(这里只有int *use_count)里面的引用计数应该是原子的,否则多线程直接爆炸 最后应该提供一个make_shared函数,用于一次性分配足够供给对象和管理块两个部分的内存,而且是连续的,缓存友好。直接使用构造函数的话两块内存很少可能是连续的
这道题你会答吗?花几分钟告诉大家答案吧!
扫描二维码,关注牛客网
下载牛客APP,随时随地刷题