Qt::make_shared 和 std::make_shared:
Qt::make_shared 实际上是一个宏,它在 Qt5.15 版本中被弃用,并在 Qt6 中移除了。在 Qt5.15 之前的版本中,Qt::make_shared 用于创建 QSharedPointer。std::make_shared 是 C++ 标准库的一部分,用于创建 std::shared_ptr。std::shared_ptr 和 QSharedPointer:
std::shared_ptr 是 C++11 引入的标准库智能指针,适用于所有 C++ 程序。QSharedPointer 是 Qt 框架的一部分,它与 std::shared_ptr 有类似的功能,但可能在某些方面与 Qt 的其他特性(如父子关系和信号槽机制)更好地集成。std::shared_ptr 位于 std 命名空间中,而 QSharedPointer 位于 Qt 的命名空间中。std::shared_ptr 通常用于标准 C++ 代码中,而 QSharedPointer 用于 Qt 应用程序中,特别是当需要与 Qt 的对象树和事件系统交互时。总结来说,Qt::make_shared 在较新版本的 Qt 中已经不再推荐使用,而 std::make_shared 用于创建 std::shared_ptr。std::shared_ptr 和 QSharedPointer 在功能上相似,但它们分别属于不同的库,并且在某些特定场景下可能更适合使用其中一个。在 Qt 应用程序中,通常推荐使用 QSharedPointer,因为它可能更好地与 Qt 的其他特性集成。