- weak_ptr:弱指针:和shared_ptr共享指针是绑定的,只是不统计入引用计数而已。意思是如果有就用一下,如果没有,也没有关系。所以有些场景,我们几乎可以确定shared_ptr是肯定不会释放的,所以想用shared_ptr.get()来获取内部指针,再去做操作,这种情况下,其实就可以用weak_ptr,更加好一些,因为这个本来就是别人考虑到的这种场景来提供的功能;
- weak_ptr使用lock()来获取其对应的shared_ptr智能指针,获取不到,则说明已经释放了,所以weak_ptr一般是无法直接使用的,先要进行“权限提升”,他必须与shared_ptr绑定,可以用expired和use_count来判断引用计数和是否过期;