智能指针
c++作为一个底层语言与其它语言的一个主要区别是它需要自己管理内存。
比如一个新建一个对象,可以有两种方式
- 栈上分配,栈退出,内存自动释放。生命周期与栈息息相关。
- new 一个,也就是堆上的内存,需要自己显示free掉。不free,那就内存泄露了。
像java这类语言,rd可以不用管内存,它有自己的内存回收机制。
如果自己new了一块内存,用指针指向了这块内存,但是不想自己去释放,怎么办?
智能指针 - auto_ptr
- shared_ptr
- unique_ptr
待续。。
c++作为一个底层语言与其它语言的一个主要区别是它需要自己管理内存。
比如一个新建一个对象,可以有两种方式
待续。。