在make_shared的boost文档中,它说:
除了便利和风格外,这样的函数也是异常安全的,并且由于它可以使用单个分配来分配对象及其对应的控制块,因此速度 considerably 更快,消除了 shared_ptr 构造开销的重要部分。
我不理解“单个分配”是什么意思?
除了便利和风格外,这样的函数也是异常安全的,并且由于它可以使用单个分配来分配对象及其对应的控制块,因此速度 considerably 更快,消除了 shared_ptr 构造开销的重要部分。
我不理解“单个分配”是什么意思?
make_shared
的分配器:它总是std::allocator
。顺便问一句,他们是如何管理T*
仍然始终在数据结构的顶部的? - Kerrek SB