Jak*_*ake 102 c++ boost smart-pointers shared-ptr c++11
经过几个小时试图找到shared_ptr所在的位置后,我现在非常沮丧.我看到的所有示例都没有显示包含shared_ptr(和工作)标题的完整代码.只是陈述std,tr1并<memory>没有任何帮助!我已经下载了增强功能,但仍然没有显示!有人可以通过告诉确切的位置来帮助我吗?
谢谢你让我发泄我的挫折!
编辑:我看到我的标题已被更改.对于那个很抱歉.所以...也是因为我不清楚shared_ptr是"C++版本依赖" - >这就是为什么我没有陈述我的环境 - >因此可能为什么我很难找到它.
我正在研究MSVS2008.
编辑2:我不知道为什么,但我在包括[memory]和[boost/tr1/memory.hpp]和[boost/tr1/tr1/memory],同时寻找shared_ptr的所有地方..当然,我不能"T.
感谢所有的回复.
Jam*_*lis 167
您可能会发现至少有三个地方shared_ptr:
如果您的C++实现支持C++ 11(或至少是C++ 11 shared_ptr),那么std::shared_ptr将在其中定义<memory>.
如果您的C++实现支持C++ TR1库扩展,则std::tr1::shared_ptr可能在<memory>(Microsoft Visual C++)或<tr1/memory>(g ++的libstdc ++)中.Boost还提供了可以使用的TR1实现.
否则,您可以获取Boost库并使用boost::shared_ptr,可以在其中找到<boost/shared_ptr.hpp>.
对于具有功能包更新的VS2008,可以在命名空间std :: tr1下找到shared_ptr.
std::tr1::shared_ptr<int> MyIntSmartPtr = new int;
Run Code Online (Sandbox Code Playgroud)
的
如果您已将boost安装路径(例如@ C:\Program Files\Boost\boost_1_40_0)添加到IDE设置中:
#include <boost/shared_ptr.hpp>
Run Code Online (Sandbox Code Playgroud)