C ++ 2.5.1 Proceso del tipo: tipo de alias

Directorio artículo

typeAlias

de manera convencional usando typedef, cpp11, se puede usar usando

typedef int mi; //int 别名 mi
mi xa = 88;
using mii = mi; //mi别名mii
mii xb = 88;
cout << (xa == xb) << endl; //output 1

Tipo de puntero de alias

typedef char* ps; //指向 char 的指针; char* 的别名 ps;
char xx = 'X';
const ps str = &xx; //指向 char的 常量指针
*str = 'F'; //地址指向值可变
//str = &zz; //常量指针的地址不可变,本句会 error
cout << *str << endl;

Si el char * representantes ps, sustituido en la expresión const ps str = &xx;será const char* str = &xx;
(después de la escritura del puntero de tipo cerrado o variables antes, no tienen ningún efecto)
en un estudio de esta forma, es un puntero constante, la const subyacente, no puede ser por *指针变量asignación. De hecho aquí se le asigna. Y no se puede cambiar la dirección de una variable puntero. Este es de hecho en la línea constante de puntero, que es el nivel superior const "No se puede cambiar la propia variable (dirección)" cuenta con una.

const ps *p; //常量指针的指针
p = &str;
cout << **p << endl; //输出 F

//既然 p 是常量指针的指针,重点是,它就是一个指针,可以修改地址,指向一个 char(常量)的地址
char zz = 'Z';
char * q = &zz;  //这里改成常量指针形式 char *const q = &zz; 也是一样的结果
p = &q;
cout << **p << endl; //输出 Z

Este tipo de puntero alias es simplemente un pozo.

Publicados 400 artículos originales · ganado elogios 364 · Vistas 1,62 millones +

Supongo que te gusta

Origin blog.csdn.net/jjwwmlp456/article/details/104046848
Recomendado
Clasificación