C++에서는 스택 할당 객체에 대해 소멸자가 호출되는 것을 어떻게 보장합니까?스택 할당 객체에 대해 소멸자가 호출되는 메커니즘은 무엇입니까?
class MyClass {
public:
~MyClass()
{
std::cout<<"Destructor called."<<std::endl;
}
MyClass()
{
std::cout<<"Constructor called."<<std::endl;
}
};
....................................................................
//Limit scope for example
{
MyClass instance;
}
생성자와 소멸자가 모두 호출됩니다 무엇을 다음과 같이 내가 동적 메모리를 할당 소멸자 기능 (또는 포인터)에 발생합니다. 무슨 일 이니?
인스턴스가 개체의 이름입니다. instance()는 단순히 클래스의 no 인수 ctor에 대한 호출입니다.이 경우 괄호는 불필요하지만 instance()라는 메서드를 호출하는 것은 아닙니다. – dicroce
동적 메모리 할당이 표시되지 않습니다. –