질문이 있습니다. 이 템플릿 클래스를포인터가있는 템플릿 클래스의 소멸자
template<class T>
class nodo{
public:
T data;
};
을 고려 의 내가 소멸자를 재정의 아니에요 가정하자. T = int라고 가정하면 표준 소멸자는 데이터를 할당 해제합니다. 그러나 T = int *이면 어떻게 될까요? 포인터가 할당 해제 될 것인가 아니면 객체가 가리키고 있는가? 이론 상으로는 포인터.
어떻게 객체를 할당 해제 할 수 있습니까? 결국, 포인터가 될 수있는 템플릿 매개 변수를 가진 템플릿 클래스의 소멸자를 작성하려면 어떻게해야합니까 (따라서 명시 적 할당 취소)? 당신이 필요로하는 무엇
쉬운 수정,'T는'unique_ptr'이되도록하십시오. 그러면 pointed-to 객체는 자동으로 소멸됩니다. –
vu1p3n0x
'class nodo {public : int * data;}'와 다른 점이 없습니다. – GManNickG
@ vu1p3n0x, 데이터가 포인터가 아니더라도 unique_ptr이 작동합니까? – CodeBott