Ejemplo 1: Declarar un puntero compartido de diferentes maneras
En el siguiente ejemplo se muestran tres formas diferentes de declarar un puntero compartido. Se ha declarado una clase con un constructor y un método público en el código. El constructor imprimirá un mensaje cuando se cree un nuevo objeto compartido con el constructor. El Mostrar() El método imprimirá mensajes basados en el objeto de puntero compartido llamado. Aquí, el primer objeto de puntero compartido se ha creado sin llamar al constructor. El segundo objeto de puntero compartido se ha creado llamando al constructor. El tercer puntero compartido ha creado asignando el primer puntero compartido. El Mostrar() El método se ha llamado tres veces utilizando tres objetos de puntero compartidos.
// Incluye las bibliotecas necesariasProducción:
La siguiente salida aparecerá después de ejecutar el código anterior. El constructor ha llamado solo en el momento de la creación de objetos del segundo. Entonces, el mensaje del constructor se ha impreso solo una vez:
Ejemplo 2: Imprima la ubicación de puntero compartido almacenado
La función get () compartida se usa para devolver la ubicación almacenada del puntero compartido. El siguiente ejemplo imprimirá la ubicación de los punteros compartidos almacenados que crean la clase y la función. Aquí, se ha definido una clase con un constructor para que se use para crear un puntero compartido. Se ha declarado que una función crea un puntero compartido e imprime la ubicación del puntero compartido usando la función get (). En este código, el primer puntero compartido se ha creado usando la clase, el segundo puntero compartido se ha creado utilizando la función, y el tercer puntero compartido se ha creado asignando el primer puntero.
// Incluye las bibliotecas necesariasProducción:
La siguiente salida similar aparecerá después de ejecutar el código anterior. En la salida, el valor devuelto de la función get () para el primer y tercer punteros compartidos son los mismos. Sin embargo, el segundo puntero compartido es diferente:
Ejemplo 3: Cuente los objetos del puntero compartido
El siguiente ejemplo muestra una forma de contar el número de objetos señalados por un puntero compartido después de crear y destruir el puntero. Se ha declarado una clase con un constructor en el código. El primer puntero compartido se ha creado usando la clase, y el segundo puntero compartido se ha creado utilizando el primer puntero compartido. El número de objetos señalados por ambos punteros compartidos antes y después de llamar a la función RESET () se ha imprimido más tarde.
// Incluye las bibliotecas necesariasProducción:
La siguiente salida aparecerá después de ejecutar el código anterior. El primer puntero, P1, está apuntando a un objeto después de la creación. Después de crear el segundo puntero, p2, Usando el primer puntero, P1, Ambos punteros apuntan a dos objetos para compartir el puntero. Después de llamar a la función RESET () para el puntero, P1, un objeto ha sido destruido y el puntero, p2, ahora apunta a un solo objeto.
Conclusión:
Los propósitos de usar un puntero compartido en C ++ se han explicado en este tutorial mediante el uso de ejemplos simples. Crear punteros compartidos de diferentes maneras, estar almacenado ubicación de puntero compartido y contando el número de objetos señalados por los punteros compartidos. Espero que los codificadores C ++ puedan usar el puntero compartido en su código después de leer este tutorial.