![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
|
#1
|
||||
|
||||
Tengo que darle una lectura más profunda a lo que pones, mamcx, porque así de primeras y con una lectura rápida sigo sin enterarme. Gracias por los enlaces.
Y la traducción que pones, Casi, parece confirma que mi traducción es correcta. Yo también he sospechado que podría haber algún error en la edición que estoy leyendo. Última edición por Ñuño Martínez fecha: 12-03-2024 a las 11:48:07. |
#2
|
||||
|
||||
Pues como [casi] siempre que leo uno de estos artículos sobre temas esotéricos, me quedo con la sensación de que el autor presupone que sé algo que no sé. No sé si tiene que ver con que no tengo ni idea de Rust o si es otra cosa. De todas formas, he estado buscando y creo que lo que propone Wirth no tiene nada que ver con eso de las Arenas. Puede que esté equivocado, pero no he visto ninguna relación entre Arena Allocation y lo que se explica en A+D=P.
|
#3
|
||||
|
||||
Cita:
Ya que estamos hablando de punteros, es de hecho, un "memory manager". En estos días es mas fácil que encuentres recursos usando "Arena" como keyword, porque como se nombra esta idea? En fin. --- Resumiendo: Todo el truco es como usas un indice numerico en un array para reemplazar un puntero. Como construyes ese mapeo varia de acuerdo a la estructura que deseas emular (vector, árbol, grafo, ...) y que operaciones(ges) deseas optimizar.
__________________
El malabarista. |
#4
|
||||
|
||||
Sigo sin pillarlo.
Lo peor de todo es que la implementación típica del algoritmo de compresión LZSS (que usan un montón de programas, como LHA y Allegro) usa este sistema para indexar el buffer donde busca las coincidencias, pero por más que lo leo (en Allegro 1-4 está bastante claro) sigo sin entender cómo funciona. |
#5
|
|||
|
|||
lo de enlaza creo que se refiere al campo "sexo"
Ejemplo de lista enlazada sin punteros explícitos usando clases: Código:
type TNode = class Data: Integer; Next: TNode; // Aquí seguimos apuntando al siguiente nodo, pero sin punteros explícitos end; TLinkedList = class private Head: TNode; public procedure AddNode(Value: Integer); procedure PrintList; procedure Clear; end; Implementación de métodos: Código:
procedure TLinkedList.AddNode(Value: Integer); var NewNode: TNode; begin // Creamos un nuevo nodo NewNode := TNode.Create; NewNode.Data := Value; NewNode.Next := Head; // El nuevo nodo apunta a la cabeza actual Head := NewNode; // La cabeza ahora es el nuevo nodo end; procedure TLinkedList.PrintList; var Current: TNode; begin Current := Head; while Current <> nil do begin WriteLn(Current.Data); // Mostramos el dato actual Current := Current.Next; // Avanzamos al siguiente nodo end; end; procedure TLinkedList.Clear; var Temp: TNode; begin while Head <> nil do begin Temp := Head; Head := Head.Next; Temp.Free; // Liberamos la memoria del nodo end; end; ejemplo de Uso: Código:
var List: TLinkedList; begin List := TLinkedList.Create; List.AddNode(10); List.AddNode(20); List.AddNode(30); List.PrintList; // Muestra 30, 20, 10 List.Clear; // Limpia la lista y libera memoria List.Free; // Libera la instancia de la lista end. Última edición por navbuoy fecha: 05-10-2024 a las 11:40:00. |
#6
|
||||
|
||||
navbuoy: Aunque no sea un puntero explícito, sigue siendo un puntero. Todas las referencias a instancias de clases Delphi lo son. :-)
Ñuño: ¿en qué fase de comprensión vas? Yo no entendí nada todavía pero ¿cuál es tu duda medular? ¿Puedes reducirla a su mínima expresión? Tal vez me anime a echarle un vistazo con calma en estos días. Edito: Bueno, agregaría que al parecer el registro contiene un campo que indica su posición en una matriz unidireccional (vulgarmente conocida como "arreglo"), y eso, un índice por elemento (persona), es suficiente para que pueda conocerse, a partir de un registro, cuál es el siguiente o el anterior registro de la matriz. Diría que tiene la ventaja de que con un solo campo de tipo Integer puedes "enlazar" al registro predecesor y al registro sucesor, cosa que en otros escenarios vemos resuelto con el uso de dos campos punteros en cada record (necesitando más memoria). Un confuso abrazo. ![]() Al González. |
![]() |
|
|
![]() |
||||
Tema | Autor | Foro | Respuestas | Último mensaje |
punteros | pepe_baile | C++ Builder | 4 | 24-07-2016 11:19:57 |
Punteros | kotai | Varios | 1 | 09-08-2010 16:26:34 |
uso de punteros | David | OOP | 19 | 14-12-2009 09:48:37 |
C++ y los punteros | marcoszorrilla | La Taberna | 3 | 02-06-2008 18:31:11 |
Punteros | davitcito | Varios | 2 | 25-04-2005 22:46:24 |
![]() |
|