| 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 >> C /C + + Programming >> Content
    ¿Qué desventajas hay en eliminar la referencia implícita de punteros
    ? Punteros determinan el tipo de objeto de un programa de software supone está en una posición de memoria específica. Los punteros pueden ser convertidos a números enteros específicos o referencias implícitas . Los punteros pueden hacer referencia a otros punteros y matrices de datos. Desreferenciación implícita de punteros introduce el riesgo de errores de software y vulnerabilidades que no se producen cuando los punteros se definen explícitamente . Punteros explícitos Versus implícita
    La variable a la derecha se hace referencia implícitamente a la ecuación de la izquierda.

    conversiones explícitas puntero cambia un tipo puntero a otro tipo de puntero . Cambio de un número entero o byte de un puntero es también una conversión explícita . C + + permite la conversión implícita de un tipo de puntero de tipo void * . Literales nulos pueden tener una conversión implícita a cualquier tipo de puntero . Variables en el lado derecho de una sentencia de asignación se anula la referencia implícita a medida que adquieren el valor de los valores en el lado izquierdo de la instrucción de asignación . Todos desreferenciación está implícita en Java.
    Desreferenciación Operadores

    En C + +, los punteros a miembros de la clase deben desreferenciados en el contexto de una clase de objeto . A. * Desreferencias operador un puntero a un miembro de una clase de objeto . Una flecha seguida de un asterisco desreferencia de un puntero a un miembro con un puntero a un objeto de clase . Utilizando el operador "*" indirecto en el lenguaje de programación C se llama eliminación de referencias de un puntero . Un puntero se define mediante la expresión ptr = variable o valor . Un puntero sin referencia se define mediante la expresión * ptr = variable o valor .

    Errores

    desreferenciación un puntero puede dar lugar a valores no válidos si la dirección se hace referencia después del final de su vida útil . Cuando se eliminan las referencias de un puntero , el programa llama el valor referenciado por el puntero. Punteros nulos tienen un valor de 0x0 por defecto si no inicializado y estática . Según la "Guía para la Explotación del núcleo " de Enrico Perla, " Si una ruta kernel intenta eliminar la referencia de un puntero NULL , simplemente tratar de utilizar la dirección de 0x0 de memoria , lo que probablemente dará lugar a una condición de pánico , ya que nada se asigna allí . " el puntero se debe definir con el comando * ptr antes de que el puntero sin referencia se puede utilizar en un programa C en otro lugar.

    Si no se asigna el * ptr un valor antes de que se hace referencia , el programa puede bloquearse. Punteros a miembros de datos puede dar lugar a una mala eliminación de referencias . Si el puntero no está mirando hacia arriba los valores de una serie de objetos de la clase y no se puede determinar el valor de la variable , se producirá un error. "C + + Gotchas " por Stephen C. estados Dewhurst que " un puntero a miembro se refiere a un miembro específico de un objeto no especificado. " El objeto de referencia debe ser suministrado , así como para el puntero para que funcione correctamente .
    < Br > vulnerabilidades

    desreferenciación implícita de un puntero no inicializado crea una vulnerabilidad en el código del software. Corrupción de memoria corrompe un puntero que se eliminan las referencias . Desreferenciación un puntero no inicializado hace que el software para hacer referencia a una ubicación de memoria que no está validado . Sin el control de la fuente o el destino del puntero sin referencia , los hackers pueden utilizar esta vulnerabilidad para aprobar una dirección de núcleo para el núcleo del software y modificar su memoria con sus propios valores deseados en lugar de los datos del usuario.
    < Br >

    Previous :

    next :
      Artículos relacionados
    ·Cómo hacer parte Int. de C + + String 
    ·Cómo utilizar objetos 2D en CPP 
    ·Computadoras En Línea Escuelas de programación 
    ·Cómo utilizar Alice programar juegos 
    ·Cómo editar el Silverlight DataGrid 
    ·Tutorial de protectores de pantalla en C + + 
    ·Cómo dibujar líneas en Visual C + + 
    ·Cómo hacer descriptores de archivos en C 
    ·Funciones static void en C 
    ·Cómo compilar Netcat 
      Artículos destacados
    ·Cómo actualizar la sintaxis de MySQL 
    ·Cómo utilizar conjuntos de datos en VB.NET 
    ·Cómo escribir un programa para comprobar si una cadena…
    ·Ejemplos de Python XML Processing 
    ·Cómo Desplazarse a la parte superior de un panel de de…
    ·Cambiar el color del texto en mouseover 
    ·Cómo escribir una aplicación de conversión de la tem…
    ·T -SQL funciones propias 
    ·Cómo agregar un control CheckBox a DataGrid C 
    ·PHP ternario 
    Copyright © Conocimientos Informáticos http://ordenador.wingwit.com