为什么支持 C++11 及更高版本的 C++ 编译器需要 Boost.SmartPtr?

Why do I need Boost.SmartPtr for the C++ compiler that supports C++11 and later?

boost C++ 库是一个著名的沙箱,其语言和标准库功能吸收了标准 C++ 的每个新版本。然而,最终成为标准一部分的升压组件仍然存在于升压中。上面所说的一个经典例子是智能指针。那么为什么我需要 Boost.SmartPtr 支持 C++11 及更高版本的 C++ 编译器?

Why do I need Boost.SmartPtr for the C++ compiler that supports C++11 and later?

因为:

  1. 您可能需要使用不支持 C++11 或更高版本的其他编译器编译您的程序。
  2. 您可能不想自己实施 make_unique。当然这很容易,但是既然可以使用现有的实现,为什么还要这样做呢?
  3. 除了共享指针之外,您可能还想使用 Boost.SmartPtr 提供的智能指针之一。
  4. 您可能已经在使用它,并且不想为停止使用它付出努力。