¿El código de abajo causará pérdida de memoria en c ++?

class someclass {};

class base
{
    int a;
    int *pint;
    someclass objsomeclass;
    someclass* psomeclass;
public:
    base()
    {
        objsomeclass = someclass();
        psomeclass = new someclass();
        pint = new int(); 
        throw "constructor failed";
        a = 43;
    }
}

int main()
{
    base temp();
}

En el código anterior, el constructor lanza. ¿Qué objetos se filtrarán y cómo se evitarán las pérdidas de memoria?

int main()
{
    base *temp = new base();
}

¿Qué tal en el código anterior? ¿Cómo pueden evitarse las pérdidas de memoria después de que el constructor arroje?

Respuestas a la pregunta(7)

Su respuesta a la pregunta