VC++ 中是否有 boost::shared_ptr 的本机/可靠替代方案?
我的公司不允许使用 boost
(出于许多愚蠢的原因,但这是题外话)。
当我习惯使用 shared_ptr
、weak_ptr
和 scoped_ptr
进行个人开发时,我对不得不使用原始指针感到非常沮丧。
我们专门使用 Microsoft 编译器 (Visual Studio 2010),我想知道是否有其他模板可以减轻我的痛苦。
我曾经听说过 std::tr1
但我不确定这是什么。我相信这是微软对下一个标准的某种实现,但我们可以依赖它吗?它提供什么?有什么保证吗?应该包含哪些标题?
My company doesn't allow the use of boost
(for many stupid reasons, but that's off-topic).
I feel very frustrated having to use raw pointers when I'm used to shared_ptr
, weak_ptr
and scoped_ptr
for personal development.
We're working exclusively with Microsoft compilers (Visual Studio 2010) and I wonder if there was an alternative to those templates that would decrease my pain.
I once heard of std::tr1
but I'm not sure what this is. I believe it is some kind of Microsoft implementation of the next standard but can we rely on it ? What does it provide ? Is there any guarantees ? What headers should be included ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
对于 VC10,只需使用
shared_ptr
,weak_ptr
和unique_ptr
它已经提供了实现。您所要做的就是包含
。With VC10 just use the
shared_ptr
,weak_ptr
andunique_ptr
implementations it already provides. All you have to do is to include<memory>
.TR1 是技术报告 1 的缩写,是向标准委员会提出的新建议C++ 标准中的功能。查看标头(或它包含的其他标头)。如果 VS2010 实现了 TR1,那么您很有可能会拥有 tr1 智能指针。这些应该与 Boost 智能指针相同。
TR1 is short for Technical Report 1 and are recommendations to the standard committee for new features in the C++ standard. take a look at the header (or other headers that it includes). and if VS2010 implements TR1 there is a good chance you will have the tr1 smart pointers. These should be identical to the Boost smart pointers.