Definição – O que significa Stack Unwinding?
O desenrolamento de pilha é o método usado em C ++ e linguagens de programação semelhantes ao desconstruir entradas de função para restaurar ou limpar registros durante o tempo de execução. Isso geralmente é feito quando o controle é alternado de um registro para o registro de chamada ou quando uma exceção é descartada e o controle é transferido de um bloco try para um manipulador na linguagem C ++.
Definirtec explica Stack Unwinding
O desenrolamento da pilha é feito automaticamente ao sair de um processo ou bloco de código em um programa. Em um bloco de programa, os objetos que são construídos dentro desse escopo de bloco não podem ser transferidos ou acessados por outro bloco. É por isso que, quando um certo controle sai desse bloco de programa, todos os objetos que são declarados ou construídos dentro dele serão destruídos automaticamente por destruidores. Na programação orientada a objetos, destruidores são métodos chamados ao destruir objetos. Eles usam o algoritmo de pilha ou o processo last-in, first-out. O objeto declarado por último será o primeiro a ser destruído pelo destruidor. A pilha está sendo limpa ou desenrolada.