Consejos para consejos

Consejos para consejos

En el lenguaje de programación de C ++, un puntero parece ser una variable que puede guardar o mantener la dirección de otra variable y utilizarse para referirse a cualquier otro puntero adicional. Los dos usos diferentes de punteros son para guardar la memoria y acelerar la velocidad del procesador.

Tipos de punteros en C++

Varios tipos de punteros en el lenguaje de programación C ++ se comparten y se explican a continuación:

Puntero nulo

Se puede crear o ejecutar un puntero nulo si proporcionamos un valor "nulo" al declarar el puntero. Se encuentra que este método es útil si al puntero se ha asignado ningún valor. Dentro de un puntero nulo, 0 siempre está presente como un valor de puntero. Veamos una ilustración de usar el puntero nulo en el código.

#incluir
usando el espacio de nombres STD;
int main ()

int *i = null;
cout << "The value of variable i: " << i;
regresar 0;

Al comienzo del código, el archivo de encabezado se integraría. El espacio de nombres estándar "STD" se utilizaría entonces. Luego, el método main () se ejecutaría. Aquí, el puntero de la variable "I" se declararía. El valor de este puntero se asignaría como "nulo". A continuación, el comando "Cout" se utilizaría para mostrar el resultado. Para finalizar el programa, emplearíamos una declaración de devolución 0.

Puntero vacío

No hay tipo de datos estándar para el puntero vacío. Este tipo de puntero generalmente se crea utilizando el término "nulo". Uno de los principales usos de este puntero es almacenar o mantener la dirección de alguna otra variable.

#incluir
usando el espacio de nombres STD;
int main ()

vacío *z = nulo;
cout << "The size of z: " << sizeof(z);
regresar 0;

El archivo de encabezado se integraría al comienzo del programa. Además, utilizaremos el espacio de nombres predeterminado como "STD". El método main () se llama. El puntero variable "z" se declarará en el siguiente paso. Se nos asignaría el valor "nulo" para este puntero. El comando "cout" mostraría el tamaño del puntero requerido. La función sizeof () se utilizaría para determinar el tamaño del puntero. Usando la declaración de retorno 0, podríamos finalizar el programa.

Puntero al puntero

Ya discutimos que en C ++, se utiliza un puntero para contener la dirección de una variable. Un puntero acelera el acceso de una variable. Para contener la dirección de algún otro puntero, también se puede definir un puntero en c++. En una función de puntero a puntero, la dirección variable se almacena en el primer puntero. Por otro lado, la primera dirección del puntero generalmente se almacena en el segundo o algún otro puntero.

Sintaxis

Ejemplo 1

Ahora, veremos el uso de un puntero al puntero en C++.

#incluir
usando el espacio de nombres STD;
int main ()

int x = 16;
int *m;
int ** mm;
m = & x;
mm = & m;
cout << "The address of the variable x: " << m <cout << "The address of the variable m: " << mm <cout << "The value stored in the variable m: " << *m <cout << "The value stored in the variable mm: " << **mm <

El programa se iniciará integrando el archivo de encabezado . Esta biblioteca se aplicará para ejecutar diferentes funcionalidades de entrada y salida. Primero, inicializaríamos la variable "x" y le asignaríamos el valor. El puntero que guarda la dirección de la variable "x" se declarará en el siguiente paso. Entonces crearíamos otro puntero. Aquí, indicaríamos el primer puntero a la dirección de la "X". El valor del primer puntero, "M", sería donde apuntaría el doble puntero. Llamaríamos a la declaración de "cout" cuatro veces. Los dos primeros comandos de "cout" imprimen la dirección de la variable y puntero especificados.

Ejemplo # 2

Veamos una ilustración de un puntero que hace referencia a otro puntero por dirección.

#incluir
usando el espacio de nombres STD;
int main ()

int v [12] = 102, 212, 870, 169, 581, 721;
int *d [] = v, v+1, v+2, v+3, v+4, v+5;
int ** dd = d;
dd ++;
cout << dd-d,*dd - v,**dd;
*dd ++;
cout << dd-d,*dd - v,**dd;
++*dd;
cout << dd-d,*dd - v,**dd;
++** dd;
cout << dd-d,*dd - v,**dd;

La biblioteca se incorporará al comienzo del código. Este módulo contiene los métodos de entrada y salida. Ahora, comenzaríamos la codificación dentro del cuerpo de la función principal (). Aquí, primero creamos la matriz. Esta matriz contiene seis valores. Estos valores se almacenan en la variable "V".

Luego, declaramos la matriz del puntero llamado "D". En el siguiente paso, declararíamos un doble puntero. Entonces podríamos incrementar el valor del puntero. El doble puntero se emplea con aritmética de puntero. Se construye como una matriz de 6 elementos con una matriz de punteros (d) se define. Los punteros que se refieren a cada miembro de la matriz constituyen los elementos de "D". Debido a que la dirección base de la matriz está contenida en el nombre de la matriz, funcionará como un puntero, y se puede acceder a su valor utilizando *(v), *(v+1), *(v+2), *(V) +3), *(V+4), *(V+5). Al final, aplicaríamos el comando "Cout" para mostrar las salidas.

Ventajas de usar los punteros para punteros en c++

  • Acceder a las ubicaciones de la memoria se hace más fácil con punteros.
  • Se puede acceder a los componentes de una estructura de matriz a través de punteros.
  • Tanto la asignación y la asignación de memoria dinámica requieren punteros.
  • Estructuras de datos complejas, como listas vinculadas, gráficos, árboles, etc., se crean usando punteros.

Desventajas del uso de los punteros a los punteros en c++

  • Podría ser un desafío comprender los punteros.
  • Los punteros pueden causar varios problemas, incluidas las fallas de segmentación y el acceso a la memoria no autorizado.
  • La corrupción de la memoria podría resultar de darle a un puntero un valor inexacto.
  • Las filtraciones de memoria también pueden ocurrir a través de punteros.
  • Los punteros se inicializarán más lentamente que las variables.
  • Debido a que los punteros manipuladores pueden ser extremadamente desafiantes para los programadores, deben hacerlo sabiamente.

Conclusión

En este artículo, discutimos los punteros utilizados en el lenguaje de programación C ++, sus ventajas, desventajas, sintaxis y aplicaciones. Además, discutimos el puntero al puntero en el idioma C ++. Además, ejecutamos diferentes programas para demostrar cómo y cuándo usar punteros a punteros en C++. También vemos cómo usar el puntero Void y Null en C ++ implementando los códigos.