¿Cuáles son los casos de uso en la vida real de los punteros etiquetados? [cerrado]

8

¿Cuáles son los casos de uso en la vida real de los punteros etiquetados?

Esto se debe principalmente a la lectura sobre pequeña de 64 bits sistemas y posibles usos de punteros de palabras de 64 bits .

A mi entender, los punteros etiquetados son direcciones que pueden contener información adicional en bits debido a que el posible espacio de direcciones en esa arquitectura en particular es mucho más pequeño.

Pero entonces, ¿es posible usar punteros etiquetados más allá de los casos triviales? ¿Alguna idea / ejemplo genial?

¿Existen bibliotecas populares, marcos que aprovechan los punteros de 64 bits a través de punteros etiquetados? ¿Es eso posible en cada hardware?

    
pregunta auselen 02.10.2013 - 16:30

1 respuesta

4

La biblioteca critbit trie utiliza punteros etiquetados para diferenciar entre nodos internos y externos en el trie. Al asegurarse de que los nuevos nodos estén asignados alineados a un cierto valor, se le garantiza que algunos de los bits más bajos de la dirección son cero, cuyo número depende de la alineación que necesite. Luego puede almacenar otra información en estos bits ... en el caso de los nodos críticos, el LSB se establece si el nodo es externo (una hoja). Solo recuerda desmarcar la dirección si quieres usarla.

Guarda tener una variable miembro extra en la estructura del nodo.

    
respondido por el James 02.10.2013 - 18:12

Lea otras preguntas en las etiquetas