Estructuras de datos simples, por ejemplo listas vinculadas, donde el puntero 'siguiente' es un puntero inteligente. Cuando el nodo principal se elimina, el puntero inteligente para "siguiente" se activa y realiza una eliminación recursiva. Para una larga lista, esto rápidamente sopla la pila.Puntero inteligente sopla pila debido a la eliminación recursiva
He tenido que volver para reemplazar estos punteros inteligentes con punteros simples y crudos. ¿Me estoy perdiendo de algo?
'sopla la pila'? puedes elaborar por favor? – Flexo
Casi con seguridad, esto no es culpa del puntero inteligente. Muéstranos un código, seguramente habrá un error en la implementación. En cualquier caso, la eliminación completa de la lista debe ser por iteración, no por recursión, por lo que debe tomar espacio constante en la pila. –
@Kerrek: presumiblemente, el destructor del puntero inteligente elimina el puntero, lo que dará recursividad si el puntero contiene otro puntero inteligente. No veo cómo se podría implementar el puntero inteligente para evitar eso. –