Умные указатели

_Proxy_

New Member
так верно ...
#include <iostream>
using namespace std;

template <class T>
class SmartPoint {

private:
T *object;
public:
SmartPoint(T *object) {

this->object = object;
}
T* operator->() {
return object;
}

T& operator*() {
return *object;
}
~SmartPoint() {
object->~T();
cout << "Destructor class Smart_ptr" << endl;

}
};

class A {

public:
int *m;
A(int s) {
m = new int;
}

~A() {
delete []m;
cout << "Destructor class A" << endl;
}

};


int main() {

{
SmartPoint<A> ptr(new A(5));

}

}
 

_Proxy_

New Member
ну я впринцыпе ж тоже самое сделал только я явно вызвал деструктор
 

TraNceR

Member
_Proxy_, Ну у этебя поидее для базовых типов не сокмпилируется :)
 

TraNceR

Member
Не ну чует сердце, что там деструктор то вызовиться но вот чтото не так всеравно, может память не освободится)
 
Зверху