Tecnología

Inicio

Cómo utilizar punteros inteligentes

Cómo utilizar punteros inteligentes


Un puntero inteligente es similar a un puntero de escritorio normal, que es un tipo de datos lenguaje de programación, pero con características mejoradas. El dispositivo se puede simplificar el desarrollo C ++, ya que tiene la intención de limitar el número de errores asociados con el mal uso de punteros regulares. Los punteros controlar los objetos que se han señalado para la gestión de memoria. El recolector de basura recoge los datos de los objetos que ya no están en uso por el programa. Esta característica sustituye a la gestión de memoria manual, que requiere que el operador seleccione cada objeto que necesita ser desasignado y devuelto a la memoria del ordenador. El puntero inteligente también ayuda a la comprobación de límites, que monitoriza si una variable está dentro de un límite antes de que se utiliza.

Instrucciones

1 Asegúrese de que no tiene una cuenta de referencia válido, lo que eliminar un objeto demasiado pronto o nunca. Asignar un ejemplo desarrollado recientemente para un puntero inteligente y mantenerlo allí. Ahora, el puntero inteligente posee el objeto. No se puede eliminar de forma manual o sustituirla. Esto asegurará un objeto referenciado por un puntero inteligente no es borrado por error o dado una cuenta de referencia válido.

2 Use un puntero inteligente para aumentar su código. Escribe ..._ ptr <T> mi Ptr (nuevo T) si crea su propio puntero inteligente. Utilice ptr.get () para recuperar el puntero sin formato. No asigne un T * a un puntero inteligente. Tampoco se puede escribir ptr = NULL. Para ello, utilizar ptr.reset (). Dos objetos que hacen referencia entre sí a través de un puntero de referencia que cuenta nunca se eliminan. También nunca se debe construir un shared_ptr temporales para pasar a las funciones. Crear una variable llamada (local) en su lugar. De esta manera, aumentará la seguridad de su código.

3 Asignar el puntero inteligente auto_ptr estándar para la simplicidad. A menudo es la mejor opción para las variables locales. Otras opciones incluyen el miembro de la clase, aunque se puede asignar auto_ptr como un miembro de la clase. Un puntero vaca en este campo puede guardar la memoria del ordenador. Un contenedor STL se puede asignar a los punteros de basura-recogida para almacenar objetos de diferentes clases en un recipiente. Comprender las características de la recogida de basura específico utilizado. recuento de referencia / de enlace puede tener fugas cuando se aplica una referencia circular. Por ejemplo, cuando un objeto puntiagudo tiene un puntero contado, apuntará a un objeto que tiene el puntero contado originales. Esta técnica, cuando se usa bien, es simple y determinista.