Algunos puntos de conocimiento sobre la declaración de C ++

"Lenguaje de programación C ++ (cuarta edición)" Capítulo 6.3

1. El espacio de memoria no se asigna para la variable cuando se declara, y el espacio de memoria se asigna cuando se define la variable.

2. La misma variable se puede declarar varias veces, pero solo una vez.

3. Utilice el operador de resolución de alcance :: para acceder a las variables globales blindadas:

int x = 666;
int main(int argc, char *argv[])
{
    int x = 3;
    debug x << ::x;
}

4. Se recomienda utilizar el siguiente formulario cuando no utilice auto para definir variables:

int i {666};

Úselo cuando use auto:

auto i = 666;

Porque auto i {666}; inferred es el tipo initializer_list <int>

5. Cuando la variable está definida pero no inicializada:

  • Si es una variable estática, la variable global se inicializará por defecto. (Int i; es equivalente a int i {}; el valor de i es 0)
  • Variables locales y variables en la memoria del montón:
  1. Cuando esté en el constructor predeterminado de un tipo personalizado , realice la inicialización predeterminada
  2. De lo contrario, no se realiza ninguna inicialización y su valor es incierto

6. Cuando auto infiere, desreferencia implícitamente

auto x = v;//x的类型为int而不是int&
auto & y = v;//y的类型是int&

Supongo que te gusta

Origin blog.csdn.net/kenfan1647/article/details/113807652
Recomendado
Clasificación