“Conocimiento Programación>Lenguajes De Programación

Ventajas y desventajas de los punteros

2012/2/4
Dependiendo de a quién le pregunte , los punteros son una bendición o una maldición. Punteros proporcionan un mecanismo para acceder y modificar directamente objetos y el código en la memoria . Los punteros se utilizan en muchos lenguajes de programación para la manipulación de cadenas de caracteres , pasar parámetros a funciones , el manejo de conjuntos de datos y la creación de listas enlazadas y otras estructuras de datos complejas . Mientras que los punteros le proporcionan una gran flexibilidad para la gestión de la memoria y la optimización de algoritmos , hay desventajas . Aprender a utilizar punteros es difícil para muchos programadores y depurar problemas puntero es un reto. Optimización

Punteros proporcionan una ventaja de rendimiento que le permite acceder a la memoria del ordenador directamente . En un programa de ordenador , la forma más rápida de acceder y modificar un objeto para acceder directamente a la memoria física donde se almacena ese objeto. Esta técnica se utiliza habitualmente para optimizar los algoritmos que requieren acceso frecuente o repetitiva a grandes cantidades de datos.
Seguridad

acceso directo a la memoria significa que usted puede hacer cosas que tal vez no debería. Dependiendo del lenguaje, el compilador y la plataforma informática , podría querer ( o intencionalmente ) de memoria de acceso que no es tuyo acceder. Como resultado , usted podría sobrescribir memoria crítica , modificar el código de una aplicación en ejecución , o hacer que la aplicación o en otra aplicación de comportarse o cerrarse inesperadamente . Un error común es ejecutar más allá del final de una matriz , el acceso a la memoria más allá del final del espacio asignado a la matriz.
Memoria de Gestión

Administrar el uso de memoria en una aplicación que utiliza punteros ofrece flexibilidad, pero también es una tarea. Asignar y desasignar memoria según sea necesario durante el tiempo de ejecución le permite crear objetos de gran tamaño , tales como matrices , rápidamente y de inmediato liberar la memoria cuando ya no es necesario . Sin embargo , también es fácil de crear pérdidas de memoria mediante la reasignación de un puntero sin liberar la memoria que estaba apuntando a la primera . La recolección de basura es su responsabilidad.
Función Parámetros

funciones pueden devolver un solo valor , pero puede tomar varios parámetros. Con la aprobación de punteros a variables como parámetros , la función se puede utilizar para establecer los valores de las variables y los nuevos valores se mantendrá después de la función regrese . Ser capaz de establecer el valor de varias variables a la vez con una sola llamada de función es limpio y eficiente. Sin embargo, puede ser un poco confuso para leer porque no se puede decir si las variables pasan en la voluntad de ser modificado o no , simplemente observando la llamada a la función . Usted tendrá que mirar la documentación de la función de aprender cómo se comporta la función
Función Punteros

punteros no son sólo para los objetos en la memoria ; . También se pueden utilizar para las funciones , permitiendo de este modo una función que se pasa como un parámetro a otra función . Un puntero de función se puede asignar la dirección de uno de una selección de funciones, de modo que el puntero actúa como una especie de alias . Orientada a objetos lenguajes de programación han eliminado la necesidad de punteros de función con la herencia y polimorfismo.
Pointer Confusión

punteros son un tema confuso para muchos programadores , sobre todo los experimentados en utilizando lenguajes que no cuentan con los punteros y el acceso directo a memoria . Sin embargo , la persistencia lleva rápidamente a la maestría de los punteros . Los punteros son acompañados a menudo por la sintaxis oscuro. Convenciones de denominación de variables constantes pueden ayudar a su código sea más legible. Por ejemplo , las convenciones de nombres comunes incluyen el uso de " p_ " o " ptr_ " como prefijo para los nombres de variables de puntero.
Consejos

Siempre use las funciones de asignación previstos por el idioma para asignación de memoria , y comprobar para asegurarse de que la memoria se asignaba antes de usarlo. Tenga cuidado con la administración de memoria y liberar memoria cuando ya no se necesita . Si reasigna un puntero a una nueva dirección de memoria , asegúrese de que la memoria antigua se libera o cedido a un puntero distinto. Asegúrese de que los punteros creados en funciones se les asigna la propiedad al alcance padre o que la memoria se cancela antes de salir de la función.

Lenguajes De Programación
Tutorial Hola Mundo
Cómo insertar una imagen BMP en QuickBasic
¿Cómo escribe símbolos en la computadora?
Cómo anclar un DIV al final de la página
¿Dar tres códigos para caracteres alfanuméricos?
GUI /Web Common App pantalla Controles
¿Cuál es la programación informática de desventaja?
Cómo determinar el número de horas entre dos horas en Oracle SQL
Conocimiento de la computadora © http://www.ordenador.online