Стек против Кучи C ++

У меня просто был быстрый вопрос о том, как работают переменные стека против переменных кучи. Насколько я понимаю, переменные стека - это переменные, которые после возврата функций будут удалены, а переменные кучи являются постоянными. Но что меня действительно смущает, так это то, как распределить переменные кучи внутри функций:

int MyObject::addObject(const char* a){
    MyObject newObject(a);
    return 0;
}

Скажи, что у меня есть конструктор дляMyObject этоnewObject(const char * a), Затем в этой функции, когда она вызывается, после возврата делает вновь построенныйnewObject удалить? Если да, то как вы можете выделить кучу внутри функции? Если нет, как вы позже очистите свою память?

Кроме того, какова роль деструктора и когда он называется?

Ответы на вопрос(8)

Ваш ответ на вопрос