在C++中,make_shared
是一个通用的函数模板,用于创建一个std::shared_ptr
对象并返回指向其的指针。使用make_shared
可以在动态内存中分配对象的同时,也会分配一个控制块,用于跟踪共享指针的引用计数。这样可以确保在不再需要共享指针时,对象可以被正确地销毁。
make_shared
的作用是简化创建std::shared_ptr
对象的过程,同时提供了更高的性能和更好的异常安全性,因为它可以在单个内存分配操作中分配对象和控制块。这样可以减少内存碎片和提高程序的性能。