【发布时间】:2011-02-24 11:33:58
【问题描述】:
在试图找到 shared_ptr 的位置几个小时后,我现在非常沮丧。我看到的所有示例都没有显示包含shared_ptr 标题的完整代码(并且正在工作)。简单地说明std、tr1 和<memory> 根本没有帮助!我已经下载了提升,但仍然没有出现!有人可以告诉我在哪里可以找到它吗?
感谢你让我发泄我的不满!
编辑: 我看到我的标题已更改。对于那个很抱歉。 所以...这也是因为我不清楚 shared_ptr 是否“依赖于 C++ 版本”-->这就是我没有说明我的环境的原因-->因此可能是我很难找到它的原因。
我正在研究 MSVS2008。
编辑 2: 我不知道为什么,但我在到处寻找shared_ptr 时包含了[memory] 和[boost/tr1/memory.hpp] 和[boost/tr1/tr1/memory]。当然,我不能。
感谢所有回复。
【问题讨论】:
-
如果你能正确地说明你的设置,比如什么编译器和提升版本/安装路径,这可能会有所帮助
-
除非您使用 C++0x,否则
shared_ptr不是标准的一部分。虽然它很常见,但有些人会将其视为标准,即使它尚未推出。 -
在不知道您的环境是用于 7.5 位洗碗机芯片的 GCC、128 位大型机的专有编译器还是 XCode 的 GCC 版本的情况下,您认为我们应该如何回答这个问题?
-
只是添加一些关于我遇到的问题的信息。如果你想用 c++0x 标准编译你需要添加“-std=c++0x”作为 g++ 的参数。
-
如果你在 MSVC 上,那么你只需要“#include
”(对于 gcc,我有一个 CMake Find() 用于搜索,以便我可以声明预处理器定义以包含 与 作为首选是 tr1 而不是 boost - 请注意 boost 是 "hpp" 而 tr1 是 ".h" - 在 Gentoo/Fedora/Debian 上验证 - 当然要确保也有 #include 分别用于内存管理)
标签: c++ boost c++11 shared-ptr smart-pointers