我的公司不允许使用boost
(出于许多愚蠢的原因,但这是题外话)。
当我习惯使用原始指针以及个人发展时shared_ptr
,我感到非常沮丧。weak_ptr
scoped_ptr
我们只使用 Microsoft 编译器 (Visual Studio 2010),我想知道这些模板是否有替代方案可以减轻我的痛苦。
我曾经听说过,std::tr1
但我不确定这是什么。我相信这是微软对下一个标准的某种实现,但我们可以依赖它吗?它提供什么?有什么保证吗?应该包含哪些标题?
我的公司不允许使用boost
(出于许多愚蠢的原因,但这是题外话)。
当我习惯使用原始指针以及个人发展时shared_ptr
,我感到非常沮丧。weak_ptr
scoped_ptr
我们只使用 Microsoft 编译器 (Visual Studio 2010),我想知道这些模板是否有替代方案可以减轻我的痛苦。
我曾经听说过,std::tr1
但我不确定这是什么。我相信这是微软对下一个标准的某种实现,但我们可以依赖它吗?它提供什么?有什么保证吗?应该包含哪些标题?
使用 VC10 只需使用它已经提供的shared_ptr
,weak_ptr
和实现。unique_ptr
您所要做的就是包括<memory>
.
TR1是 Technical Report 1 的缩写,是向标准委员会推荐的 C++ 标准中的新特性。查看标题(或它包含的其他标题)。如果 VS2010 实现了 TR1,那么你很有可能拥有 tr1 智能指针。这些应该与 Boost 智能指针相同。