Quiero definir una constante en C ++ para que sea visible en varios archivos fuente. Puedo imaginar las siguientes formas de definirlo en un archivo de encabezado:
#define GLOBAL_CONST_VAR 0xFFint GLOBAL_CONST_VAR = 0xFF;- Alguna función recupera el valor (p
int get_GLOBAL_CONST_VAR(). Ej. ) enum { GLOBAL_CONST_VAR = 0xFF; }const int GLOBAL_CONST_VAR = 0xFF;extern const int GLOBAL_CONST_VAR;y en un archivo fuenteconst int GLOBAL_CONST_VAR = 0xFF;
Opción (1): definitivamente no es la opción que le gustaría usar
Opción (2): definir la instancia de la variable en cada archivo de objeto utilizando el archivo de encabezado
Opción (3): la OMI ha terminado con la matanza en la mayoría de los casos
Opción (4): en muchos casos, tal vez no sea bueno ya que enum no tiene un tipo concreto (C ++ 0X agregará la posibilidad de definir el tipo)
Entonces, en la mayoría de los casos, necesito elegir entre (5) y (6). Mis preguntas:
- ¿Qué prefieres (5) o (6)?
- ¿Por qué (5) está bien y (2) no?