palabra clave estática mantiene el alcance de una variable global limitada a esa unidad de traducción. Si uso static int x
en un archivo .h e incluyo ese archivo .h en cualquier otro archivo, ¿no pertenecerán todos a la misma unidad de traducción? Entonces, ¿x no será visible en todas partes? Entonces, ¿cuál es el rol de la estática ahora?C++ - ¿Está bien para declarar la variable global estática en el archivo .h?
Además, ¿hay algún uso de static const int x
, donde x es una variable global? ¿No están todas las variables globales de const estáticas por defecto? ¿Y el alcance de una variable const está limitado a la TU incluso si está confinado en un bucle for en el archivo?
Encontré que el uso más común de la estática en los encabezados es introducir errores o dificultar la depuración. – PlasmaHH