shared_ptr在哪里?
几个小时后,我非常沮丧,试图findshared_ptr所在的位置。 我看到的例子都没有显示完整的代码来包含shared_ptr (和working)的头文件。 简单地说std , tr1和<memory>完全没有帮助! 我已经下载提升和所有,但仍然不显示! 有人可以帮助我确切地知道在哪里find它吗? 
感谢让我发泄我的挫折!
编辑:我看到我的标题已经改变。 对于那个很抱歉。 所以…这也是因为我不清楚shared_ptr是“C ++版本依赖” – >这就是为什么我没有说明我的环境 – >因此,可能为什么我很难find它。
我正在MSVS2008上工作。
编辑2:我不知道为什么,但我包括[内存]和[boost / tr1 / memory.hpp]和[boost / tr1 / tr1 /内存],而无处不在寻找shared_ptr ..当然,我couldn “T。
感谢所有的答复。
 至less有三个地方可以findshared_ptr : 
- 
如果你的C ++实现支持C ++ 11(或者至lessC ++ 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>。
加速入门
如果你想用Boost TR1来代替它
shared_ptr示例
对于带有function包更新的VS2008,可以在命名空间std :: tr1下findshared_ptr。
 std::tr1::shared_ptr<int> MyIntSmartPtr = new int; 
的
 如果您已将提升安装path(例如@ C:\Program Files\Boost\boost_1_40_0 )添加到您的IDE设置: 
 #include <boost/shared_ptr.hpp> 
如果你的浏览器是shared_ptr ,你可以通过googlesearchshared_ptr ,跟随文档的链接,find答案,然后打开一个完整的例子。
无论如何,下面是我刚刚破解的一个简单的完整工作示例:
 #include <boost/shared_ptr.hpp> struct MyGizmo { int n_; }; int main() { boost::shared_ptr<MyGizmo> p(new MyGizmo); return 0; } 
 为了使#includefind头文件,库显然需要在searchpath中。 在MSVC中,您可以在“项目设置”>“configuration属性”>“C / C ++”“其他包含目录”中进行设置。 在我的情况下,这是设置为C:\Program Files (x86)\boost\boost_1_42