Smart_ptr如何适应标准库?

优质
小牛编辑
126浏览
2023-12-01

Smart_ptr库已被提议包含进标准库中,主要有以下三个原因:

  • 标准库现在只提供了一个auto_ptr, 它仅是一类智能指针,仅仅覆盖了智能指针族谱中的一个部分。shared_ptr 提供了不同的,也是更重要的功能。

  • Boost的智能指针专门为了与标准库良好合作而设计,并可作为标准库的自然扩充。例如,在 shared_ptr之前,还没有一个标准的智能指针可用作容器的元素。

  • 长久以来,现实世界中的程序员已经在他们的程序中大量使用这些智能指针类,它们已经得到了充分的验证。

以上原因使得Smart_ptr库成为了C++标准库的一个非常有用的扩充。Boost.Smart_ptr的 shared_ptr (以及随同的助手 enable_shared_from_this) 和 weak_ptr 已被收入即将发布的Library Technical Report。