| Casa | Hardware | Redes | Programación | software | Criticar | Sistemas |   
Programación  
  • C /C + + Programming

  • Lenguajes De Programación

  • Delphi Programación

  • Programación Java

  • JavaScript Programación

  • Programación PHP /MySQL

  • Perl Programming

  • Python Programming

  • Rubí Programación

  • Visual Basics Programación
  •  
    Conocimientos Informáticos >> Programación >> Lenguajes De Programación >> Content
    Ventajas y desventajas de los punteros
    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.

    Previous :

    next :
      Artículos relacionados
    ·Cómo utilizar SendKeys Con una cadena URL 
    ·Pruebas unitarias en Visual Studio Team System 
    ·¿Qué es la corrección Sub -Pixel 
    ·Cómo Ajustar párrafos con una etiqueta en HTML 
    ·Cómo declarar rutas UNC con variables 
    ·Cómo leer la tabla de código ASCII de referencia ráp…
    ·Cómo convertir Enum a la lista 
    ·Cómo abrir archivos MIME en Outlook 2007 
    ·Cómo determinar el número de botones en una barra de …
    ·Cómo quitar el Sendero de un objeto GCC 
      Artículos destacados
    ·Cómo quitar el final de la cadena en Ruby 
    ·Cómo vaciar el flujo de salida 
    ·Cómo convertir un String de Java a Color 
    ·Cómo dividir Longitud de cadena en Java 
    ·Cómo leer un flotador binario con Python 
    ·Tipos de códigos de CC en Java 
    ·Cómo Pensar como un Programador 
    ·Cómo cambiar el JDK en BEA WebLogic 8.1 
    ·Cómo imprimir múltiples líneas en Visual Basic 
    ·Cómo comentar en un Java Script 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com