- 指针
当用new/delete,有安全隐患。比如说忘了释放了内存,而智能指针(C++11提供的)使得内存管理上更加安全,对内存垃圾回收技术提供了一种支持,使得在内存管理上更安全。
三种智能指针:
- unique_ptr:不允许多个指针共享资源,也就是它指向的空间只能由它指向,它中存放的地址不能复制到别的指针去,但它可以用标准库的move函数把它所指向的对象,也即它存放的地址转移别的指针里去,但转以后,原来的ptr指针就失效了。
- shared_ptr:多个指针可以共享资源,多个指针可以指向同一个内存单元
- weak_ptr:可以复制shared_ptr指向的地址,但是它的构造和析构对资源不产生影响