Stack vs Heap C ++
Acabei de fazer uma pergunta rápida sobre como as variáveis de pilha versus variáveis de pilha funcionam. Pelo que entendi, as variáveis de pilha são variáveis que após o retorno das funções serão excluídas e as variáveis de heap são persistentes. Mas estou realmente confuso sobre como alocar variáveis de heap dentro de funções:
int MyObject::addObject(const char* a){
MyObject newObject(a);
return 0;
}
Diga que eu tenho um construtor paraMyObject
isso énewObject(const char * a)
. Então, nesta função, quando é chamada, após o retorno o @ recém-construínewObject
foi excluído? Se sim, como você pode alocar para o heap dentro de uma função? Caso contrário, como você limpa sua memória posteriormente?
lém disso, qual é exatamente o papel de um destruidor e quando é chamad