¿Qué es puntero swizzling?

1 minuto de lectura

Estaba leyendo sobre el desbordamiento de enteros en wikipedia y me encontré con el término puntero sizzling en la columna ver también.
Busqué en Google sobre puntero swizzling, pero no pude entenderlo.
¿Alguien puede explicar qué es el puntero swizzling?

  • Creo que el ejemplo de la lista enlazada en wikipedia es excelente. No desea conservar las ubicaciones de memoria actuales, sino sus posiciones relativas (serialización/guardado = deserialización, deserialización/carga = swizzling)

    – llavero

    19 de enero de 2014 a las 14:58


La página de wikipedia explica esto, pero déjame decirlo de otra manera.

Supongamos que tiene una estructura de datos de árbol binario en la memoria y desea guardar la estructura en el disco. No puede simplemente escribir la estructura en el disco porque los punteros no serán válidos en el disco. Además, cuando más adelante desee volver a leer el árbol binario del disco en la memoria, es posible que las direcciones utilizadas en la copia de memoria original del árbol ya estén en uso en el nuevo proceso.

El swizzling de punteros convierte los punteros en identificadores al escribir desde la memoria al disco, y también convierte los identificadores en punteros (diferentes) al volver a leer los datos del disco en la memoria.

¿Ha sido útil esta solución?