c++三种使用shared_ptr的方式

Posted 周旭光

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c++三种使用shared_ptr的方式相关的知识,希望对你有一定的参考价值。

在c++中,我们是越来越多的使用智能指针,其中我们说的智能指针通常是指基于引用计数的智能指针,在c++11标准中就是std::shared_ptr。它的特点是可以安全的放入STL容器中。

有以下三种方式可以使用shared_ptr

1、如果你的c++编程环境支持c++ 11标准,那么可以直接使用std::shared_ptr,它定义在memory文件中。

2、如果你的c++实现支持C++ TR1库扩展,那么可以使用std::tr1::shared_ptr。在Vc++编译器下是在<memory>定义,如果是linux下g++,那么定义在<tr1/memory>文件中。Boost也提供了TR1实现。

3、否则的话,你可以使用Boost中的boost::shared_ptr,它定义在<boost/shared_ptr.hpp>文件中。

 

注:vs2008需要装SP1才支持TR1实现。

以上是关于c++三种使用shared_ptr的方式的主要内容,如果未能解决你的问题,请参考以下文章

智能指针原理及实现- shared_ptr

C++ std::array 到 shared_ptr 的向量

C++ 11 创建和使用 shared_ptr

在 C++ 中使用 shared_ptr 的指针的意外行为

[C++][原创]std::shared_ptr简单使用

C++ shared_ptr&&weak_ptr的简单介绍和仿写