小编Joj*_*jje的帖子

非所有者智能指针的实用代码友好名称

自C ++ 11以来,我们就拥有了相当完整的一组智能指针类型:

  • std :: shared_ptr
  • std :: weak_ptr
  • std :: unique_ptr
  • std :: auto_ptr(不建议使用)

但是缺少的是没有所有权的智能指针,并与上述功能集成在一起。

这似乎使开发人员的讨论陷入了某种松散的分类,该分类通常使用诸如“那是一个没有所有权的智能指针”之类的短语。但这不是在我的代码中命名指针包装模板时要使用的好名字。

对于非拥有的智能指针,是否有更好的代码友好名称的建议?

template<typename T>
struct NonOwningSmart_pointer;
Run Code Online (Sandbox Code Playgroud)

有std :: weak_ptr并不能真正满足要求,因为它需要shared_ptr。

更新:独特地命名这种类型的智能指针的主要好处是代码清晰,构造为nullptr并与其他标准指针类型兼容。

c++ pointers stl

1
推荐指数
1
解决办法
271
查看次数

标签 统计

c++ ×1

pointers ×1

stl ×1