¿Cuándo está un objeto "fuera de alcance"?
En C ++, ¿cuándo se define un objeto como "fuera de alcance"?
Más específicamente, si tuviera una lista enlazada individualmente, ¿qué definiría un objeto de nodo de lista única como "fuera de alcance"? O si un objeto existe y está siendo referenciado por una variableptr
, ¿es correcto decir que el objeto se define como "fuera de alcance" en el momento en que se elimina la referencia o apunta a un objeto diferente?
ACTUALIZACIÓN: Suponiendo que un objeto es una clase que tiene un destructor implementado. ¿Se llamará al destructor en el momento en que el objeto salga del alcance?
<code>if (myCondition) { Node* list_1 = new Node (3); Node* list_2 = new Node (4); Node* list_3 = new Node (5); list_1->next = list_2; list_2->next = list_3; list_3->next = null; } </code>
En otras palabras, ¿sería el Nodo al que apuntalist_1
Llama a su destructor después de esta línea:
<code>Node* list_1 = new Node (3); </code>
?