Ir al contenido principal

Entradas

Mostrando las entradas etiquetadas como punteros

¿Existen los punteros en Python?

  En Python no existe el concepto de puntero de manera explícita. Es decir, no puedes manipular directamente direcciones de memoria ni hacer aritmética de punteros . Sin embargo, Python sí maneja referencias a objetos , y en la práctica funcionan de manera similar a punteros seguros. Esto te permite compartir y modificar estructuras sin necesidad de copiar. En Python el concepto de punteros funcionaría de la siguiente manera: Todas las variables en Python son referencias a objetos en memoria.  Cuando asignas una variable a otra, ambas apuntan al mismo objeto.  No puedes acceder a la dirección de memoria directamente (como con & en Go o * en C), pero puedes usar la función id() para obtener un identificador único del objeto (que suele estar relacionado con su dirección interna). Simulemos punteros en Python: x = [ 1 , 2 , 3 ] y = x # y referencia al mismo objeto que x y.append( 4 ) print (x) # [1, 2, 3, 4] -> s...

Punteros en Rust, ¿Qué son y para qué sirven?

En Rust existe el concepto de punteros, pero se maneja de manera distinta a lenguajes como C o Go , porque Rust pone mucho énfasis en la seguridad de memoria y en evitar errores comunes como dangling pointers o data races . Recordando el post anterior tenemos que una variable se compone de:   Un tipo de dato.   Un nombre.   Un valor.   Una dirección de memoria. Las dos primeras características las define el programador, el valor depende del flujo del programa. La memoria la designa el sistema. Y es aquí donde entran los punteros , que son variables que almacenan la dirección de memoria de otra variable . En Rust , el concepto puede ser un poco diferente a lenguajes como C y Go  como lo vamos a ver. Tipos de punteros en Rust En Rust,  veremos los punteros como en referencias , Box , Rc/Arc , raw pointers  y su uso está regulado por el sistema de propiedad para garantizar seguridad y eficiencia. ¿Para qué sirven...

Punteros en Go, ¿Por qué tendría que usarlos?

Los que ya llevan cierto tiempo en la programación sabrán que uno de los conceptos más difíciles de aprender y usar son los famosos punteros: variables que almacenan la dirección de memoria de otra variable . Y es que una variable (en lenguajes de tipado estático como C) se compone de: Un tipo de dato.  Un nombre.  Un valor.  Una dirección de memoria. Las dos primeras características las define el programador, el valor depende del flujo del programa. La memoria la designa el sistema. En el lenguaje de programación C tenemos que: // Definimos una variable de tipo entero con un valor int numeroInt = 33 ; // Definimos un puntero que almacena la dirección de la variable numeroInt int * punteroInt = & numeroInt; Esto nos permite trabajar con datos de manera más eficiente y flexible, especialmente cuando quieres modificar valores dentro de funciones o estructuras sin copiar todo el contenido. Pero, ¿Qué tiene que ver con Go? La respuesta es: tien...