¿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?