在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++中智能指针std::shared_ptr的三种使用方式,包括直接使用C++11标准库中的std::shared_ptr、通过C++TR1库或Boost库实现。std::shared_ptr基于引用计数,可以安全地用于STL容器。

被折叠的 条评论
为什么被折叠?



