C ++: referencia const, referencias, puntero const, constante puntero


declaración en línea:

código nombre significado
const int & r
int const & r
constante referencia a la
referencia a const
Las referencias constante de unión
int & r const constantes referencias La declaración, no hay carreras de códigos de error
const int * p
const int * p
puntero constante
puntero a const
Una constante de puntero
int * p const Constante de puntero
puntero constante
El puntero en sí es constante

C++primer:

código nombre significado
const int & r
int const & r
constante referencia a la
referencia a const
const referencia a
int & r const constantes referencias La declaración, no hay carreras de códigos de error
const int * p
const int * p
Señalando puntero constante
puntero a const
Una constante de puntero
int * p const puntero constante
puntero constante
El puntero en sí es constante

resumen

  1. el suministro constante referencia no puede modificar el objeto referenciado por su unión, pero puede modificar el objeto de otras maneras.
    int i = 1;
    const int &r = i; //r绑定i,其后对r的操作实际上是针对i进行的
    r = 2;            //错误,不能通过修改r来实现对i的修改
    i = 2;            //i可修改
  1. No hay una referencia constante. Debido a que la referencia solamente se puede unir a un objeto (valor de la izquierda) en la inicialización, después de no rebind otros objetos, las operaciones son en realidad una referencia a una referencia de objeto unido para llevar a cabo la operación, es decir, la relación de unión no ha cambiado modificada por referencia const sí mismo sentido.
    int i = 1;
    int &const r = i;

Tiempo de ejecución error

  1. const int & r es equivalente a const int & r, const int * p es equivalente a const int * p. Los procedimientos generales se convertirán en const int int const, int const por lo tanto más comúnmente utilizado.
    int i = 1;
    const int &r1 = i;
    int const &r2 = i;//r2的类型:const int &
    const int *p1 = &i;
    int const *p2 = &i;//p2的类型:const int *
  1. Distinguir entre const int * p * e int const p, mirada crítica a const. Antes * const, modifica const describen tipo, un puntero a la constante. Después * const, modificación const se describe un puntero, el puntero en sí es constante.
    int i = 1;
    const int *p1 = &i; //const修饰int,则p1指向const int
    int *const p2 = &i; //const修饰p2,则p2是常量
  1. puntero constante diferente versión en línea y el libro. Recomendar menos que sea necesario, const int * p denominado puntero que apunta a la constante int * const p sí se llama constante de puntero. Aunque este tipo de focos de tensión, pero el significado es incorrecta, no será confundido.
    int i = 1;
    const int *p1 = &i; //指向常量的指针
    int *const p1 = &i; //本身是常量的指针

Personal Nombre común:

código nombre
const int & r
int const & r
Encuadernación referencia constantes, una referencia a la constante, constante referencia
referencia a const
int & r const no existe referencia constante
const int * p
const int * p
Señalando puntero constante
puntero a const
int * p const Sí const puntero
const puntero
const int * p const Son constantes en sí y un puntero referentes
int * & r Encuadernación referencia de puntero, referencias de puntero
const puntero

el blog de referencia: ordenar el C ++ puntero constante y constante de puntero para todo esto (que muy detallado, vale la pena una visita)

Publicado 77 artículos originales · ganado elogios 25 · Vistas a 10000 +

Supongo que te gusta

Origin blog.csdn.net/qq_34801642/article/details/104677031
Recomendado
Clasificación