Wird der folgende Code Speicherverlust in C ++ verursachen?

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();
}

In dem obigen code, wird der Konstruktor wirft. Die Objekte werden geleckt, und wie können die Speicherverluste vermieden werden?

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

Wie etwa im obigen code? Wie können die Speicherverluste vermieden werden, nachdem der Konstruktor wirft?

InformationsquelleAutor der Frage |

Schreibe einen Kommentar