虽然shared_ptr 被称作“智能指针”,能够在没有人使用指针时自动的释放掉相应的内存,但是它却并不是万能的。事实上,shared_ptr 的默认“deleter”的适用范围相当有限,不可能处理C++程序开发中所有的内存指针,所幸它允许我们使用自己定义的 deleter,毕竟自己分配的内存,自己总该知道怎么释放吧? 到这里其实也能看出,所...
---智能指针 try-finally 对于出现异常时,不能释放堆内存的问题: 例如: #include <iostream> 02usingnamespacestd; 03classnormal_pointer_example 04{ 05public: 06normal_pointer_example(){cout<<"构造函数执行!\n";} 07~normal_pointer_example(){cout<<"析构函数执行!\n";} 08}; 09classnormal_point...
1、请你说说三种智能指针实现原理和使用场景,以及其线程安全 2、请你说说 unique_ptr 的实现原理及使用场景 3、请你说说单例设计模式 4、请你回答一下智能指针有没有内存泄露的情况 5、shared_ptr 怎么知道跟它共享对象的指针释放了 6、请你说说红黑树的特性,为什么要有红黑树 7、请你说说 set 的实现原理 8...