这三个类分别来自Qt、STL和Boost,都是共享指针类。它们在功能上似乎相同,所以我感到困惑:
- 它们各自的优缺点是什么?
- 为什么要创建Boost和Qt版本 -- STL已经有了,为什么还要另外创建自己的版本?
- 我应该如何选择使用哪一个?
这三个类分别来自Qt、STL和Boost,都是共享指针类。它们在功能上似乎相同,所以我感到困惑:
shared_ptr
是标准且可移植的。std::shared_ptr
是boost::shared_ptr
的标准替代品(也就是说,boost的先出现了,后来成为了标准)。std::shared_ptr
,否则请使用boost::shared_ptr
。