C ++ puntero a un puntero (multinivel direccionamiento indirecto)
El puntero es un puntero a una forma de múltiples etapas de direccionamiento indirecto, o es una cadena de puntero. Típicamente, un puntero contiene la dirección de una variable. Cuando se define un puntero a un puntero, el primer puntero contiene la dirección del segundo indicador, el segundo puntero contiene la ubicación del valor real.
Un puntero a una variable puntero debe ser declarado como sigue, a saber, la colocación de dos asteriscos delante del nombre de la variable. Por ejemplo, la siguiente declara un puntero a un puntero punteros int:
int **var;
Cuando un objetivo es un puntero a otro puntero indirectamente puntos Para acceder a este valor requiere el uso de operador dos asteriscos, como se muestra en los siguientes ejemplos:
#include <iostream> using namespace std; int main () { int var; int *ptr; int **pptr; var = 3000; // 获取 var 的地址 ptr = &var; // 使用运算符 & 获取 ptr 的地址 pptr = &ptr; // 使用 pptr 获取值 cout << "Value of var :" << var << endl; cout << "Value available at *ptr :" << *ptr << endl; cout << "Value available at **pptr :" << **pptr << endl; return 0; }
Cuando el código se compila y ejecuta, produce los siguientes resultados:
Value of var = 3000 Value available at *ptr = 3000 Value available at **pptr = 3000