在试图找到 shared_ptr 的位置几个小时后,我现在非常沮丧。我看到的示例都没有显示包含 shared_ptr
标题的完整代码(和工作)。简单地说std
, tr1
和 <memory>
一点帮助都没有!我已经下载了 boost ,但仍然没有出现!有人可以告诉我在哪里可以找到它吗?
感谢你让我发泄我的不满!
编辑: 我看到我的标题已更改。对于那个很抱歉。 所以...这也是因为我不清楚 shared_ptr 是否“依赖于 C++ 版本”-->这就是我没有说明我的环境的原因-->因此可能是我很难找到它的原因。
我正在研究 MSVS2008。
编辑 2: 我不知道为什么,但我在到处寻找shared_ptr 时包含了[memory] 和[boost/tr1/memory.hpp] 和[boost/tr1/tr1/memory]。当然,我做不到。
感谢所有回复。
最佳答案
您至少可以在三个地方找到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>
中找到.
关于c++ - shared_ptr 在哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2918202/