自己实现c++智能指针遇到的析构问题
- 代码如下:
#include "TestClass.h"
template <typename T>
class my_unique_ptr {
public:
explicit my_unique_ptr(T* ptr = nullptr) : ptr_(ptr) {
}
~my_unique_ptr() {
delete ptr_;
}
template<typename U>
my_unique_ptr(my_unique_ptr<U> &other) {
ptr_ = other.release();
}
my_unique_ptr(my_unique_ptr &other) {
ptr_ = other.release();
cout << "copy constructor"