Will the following code, where object destroys itself, compile?

class c
{
        public:
                c() { }
                ~c() { }
                void f(c* p){ delete p; }
};
 
int main()
{
        c* p = new c;
        p->f(p);
        return 0;
}
Explanation
Yes, despite the fact that the object destroys itself. Method f will work properly and the destructor will be called.

Следи за CodeGalaxy

Мобильное приложение Beta

Get it on Google Play
Обратная Связь
Cosmo
Зарегистрируйся сейчас
или Подпишись на будущие тесты