Does std::unique_ptr
make Boost.Pointer容器C++11/14 中的库已过时吗?
在 C++98/03 中没有移动语义,并且有一个智能指针,例如shared_ptr
与引用计数相关overhead(对于参考计数块,以及连锁的递增/递减)如果与原始指针相比。所以像std::vector<shared_ptr<T>>
如果与相比有开销std::vector<T*>
.
But is std::vector<std::unqiue_ptr<T>>
就像高效的 as std::vector<T*>
(没有引用计数开销),and此外safe关于例外和自动销毁(即vector<unique_ptr<T>>
析构函数将自动地调用析构函数T
其指针存储在的项vector
)?
如果是这样,Boost.Pointer Container 在 C++11/14 代码中是否仍然具有有效的有用位置,或者它只是过时了?
它并没有过时;它有一个完全不同的和更多的
直观的界面比std::vector<std::unique_ptr<T>>
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)