Diferencia entre revisiones de «Programación en Vala/Funcionalidades avanzadas del lenguaje»

Contenido eliminado Contenido añadido
Sigmar (discusión | contribs.)
Sigmar (discusión | contribs.)
Línea 655:
 
<source lang=csharp>
class Node : Object {
public weak Node prev;
public Node next;
 
public Node (Node? prev = null) {
this.prev = prev; // ref
if (prev != null) {
prev.next = this; // ref
}
}
}
 
void main () {
var n1 = new Node (); // ref
var n2 = new Node (n1); // ref
 
// Imprime el conteo de referencias para los dos objetos
stdout.printf ("%u, %u\n", n1.ref_count, n2.ref_count);
 
} // unref, unref
</source>
 
Los lugares dónde se producen las referencias y los borrados de referencias se han comentado para una mejor comprensión del ejemplo. La siguiente figura muestra la situación después de que los nodos '''n1''' y '''n2''' hayan sido asignados:
 
== Propiedad de las referencias ==