Está en la página 1de 2

Dependiendo a quién le preguntes, los punteros son una bendición o una maldición.

Indicadores proporcionan un mecanismo para acceder directamente y modificar


objetos y código en la memoria. Punteros son usados en muchos lenguajes de
programación para manipular cadenas de caracteres, paso de parámetros a funciones,
manipulación de matrices de datos, y crear vinculada listas y otras estructuras de datos
complejas. Mientras que los punteros le proporcionan una gran flexibilidad para la
gestión de memoria y optimización de algoritmos, hay desventajas. Aprender a usar
punteros es difícil para muchos programadores, y depuración de problemas con
puntero es un reto.

Optimización

Indicadores proporcionan una ventaja de rendimiento por lo que le permite acceder


directamente a memoria de la computadora. En un programa de ordenador, la forma
más rápida para acceder y modificar un objeto es acceder directamente a la memoria
física donde está almacenado el objeto. Esta técnica es usada para optimizar algoritmos
que requieren frecuentes o repetitivo acceso a grandes cantidades de datos.

Seguridad

Acceso directo a memoria significa que puede hacer cosas que tal vez usted no debe.
Dependiendo de la lengua, el compilador y la plataforma informática, se podría sin
querer (o intencionalmente) acceder a memoria que no sea el tuyo para tener acceso a.
Como resultado, podría sobrescribir memoria crítica, modificar el código de una
aplicación en ejecución o provocar su aplicación o en otra aplicación se comportan o
cerrarse inesperadamente. Un error común es correr más allá del final de una matriz,
acceder a la memoria más allá del espacio asignado para ese array.

Gestión de memoria

Gestión de uso de memoria en una aplicación que utiliza punteros ofrece flexibilidad
pero también es una tarea. Asignación y desasignación de memoria según sea
necesario en tiempo de ejecución le permite crear objetos grandes, tales como
matrices, rápidamente e inmediatamente liberar la memoria cuando ya no es necesario.
Sin embargo, también es fácil crear memoria reasignando un puntero sin liberar la
memoria que fue apuntando a la primera. Recolección de basura es su responsabilidad.

Parámetros de la función

Funciones pueden devolver un solo valor, sino que pueden tomar varios parámetros.
Paso de punteros a variables como parámetros, una función puede utilizarse para
establecer los valores de esas variables, y los nuevos valores que persisten después de
que la función devuelve. Ser capaz de establecer el valor de varias variables a la vez con
una llamada de función es limpio y eficiente. Sin embargo, puede ser un poco confuso
leer porque no puede decir si se modificarán las variables en o no simplemente
examinando la llamada de función. Usted tendrá que mirar la documentación de la
función para conocer cómo se comporta la función.
Punteros a función

Punteros no son sólo para objetos en la memoria; también puede usarse para las
funciones, permitiendo así una función que se pasa como parámetro a otra función. Un
puntero de función se puede asignar la dirección de uno de una variedad de funciones
para que el puntero actúa como una especie de alias. Lenguajes de programación
orientados a objetos han eliminado la necesidad de punteros a función con herencia y
polimorfismo.

Confusión de puntero

Punteros son un tema confuso para muchos programadores, especialmente los


experimentados en el uso de lenguas que no tienen acceso directo de memoria y
punteros. Sin embargo, la persistencia conduce rápidamente al dominio de los
punteros. Punteros a menudo se acompañan de sintaxis oscura. Terminología variable
consistente puede ayudar a que su código sea más legible. Por ejemplo, convenciones
de los nombres comunes incluyen el uso de "p" o "ptr" como prefijo para nombres de
variables puntero.

También podría gustarte