C++ Stl
Nin_Cool
这个作者很懒,什么都没留下…
展开
-
STL 的各个版本
HP STL HP版本是所有STL实现版本的始祖。HP STL是Alexandar Stepanov在惠普Palo Alto实验室工作时,与Meng Lee合作完成的。HP STL是C++ STL的第一个实现版本,而且是开放源码。其它版本的C++ STL一般是以HP STL为蓝本实现出来的。P.J.Plauger实现版本 P原创 2016-08-29 11:56:41 · 6033 阅读 · 0 评论 -
C++ auto_ptr
std::auto_ptr属于STL库,但是在C++11中已经被废除掉了,至于为什么被费除掉,我们稍后再看。 std::auto_ptr的作用是控制一个对象的生命周期,内部持有对象的所有权,保存着对象的指针。它的实现非常简单,内部仅仅维护一个对象指针(the wrapped object pointer),在构造函数中构造封装的对象,在析构函数中释放。 std:原创 2016-08-29 13:45:29 · 570 阅读 · 0 评论 -
C++ shared_ptr
std::shared_ptr属于STL库,它的作用和auto_ptr相似,也是管理一个对象指针,提供一个释放内存的封装操作,但是它可以和其他shared_ptr对象共享对指针的管理。它的实现原理是再内部维护一个引用计数,当引用计数为0的时候进行释放销毁操作。 std::shared_ptr的构造函数有多重,我们常用的是默认构造函数和带有指针参数的构造函数:原创 2016-08-30 11:35:50 · 746 阅读 · 0 评论 -
C++ unique_ptr
std::unique_ptr属于STL库,它的作用和auto_ptr相似,也是管理一个对象指针,提供一个释放内存的封装操作。我们知道了std::auto_ptr存在一个问题就是可以同时持有同一个对象指针,这对我们的使用者来说可以说是致命的,而std::unique_ptr则把这个问题给解决了,同时它还具有一些自身特有的性质。 顾名思义,std::unique_ptr独有对象指针原创 2016-08-29 21:12:21 · 645 阅读 · 0 评论