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。