visual studio language ingles for español english code change castellano autocompletar c++ visual-studio ide syntax-highlighting

c++ - language - ¿Por qué la palabra "falso" está escrita en azul y la palabra "FALSO" escrita en púrpura en Visual Studio?



visual studio code español (3)

false es una palabra clave en C ++; es azul por la misma razón for es azul. FALSE es una macro de preprocesador declarada por la API de Windows; es de color púrpura por la misma razón que MYFILE_H_DEFINED es de color púrpura. Si accedes a las preferencias del editor para C ++, verás los colores que MSVC está usando para diferentes identificadores.

Por cierto, VERDADERO y FALSO son específicos de WinAPI y son un retroceso a C, y no deberían utilizarse, excepto cuando se comunique con WinAPI.

¿Por qué Visual Studio cambia el color de la palabra según la forma en que se ingresa?

false con azul, pero FALSE con púrpura.
true con azul pero TRUE con púrpura.

¿Hay alguna diferencia en el significado de ellos y, en caso afirmativo, qué es?


true y false son palabras clave en C ++, por lo que su IDE (no el compilador) las pinta de azul.

TRUE y FALSE a menudo se definen por varios encabezados, principalmente por compatibilidad con C y compiladores de C ++ más antiguos, donde true y false no son palabras clave.

En cuanto a su equivalencia, el estándar de C ++ no define sizeof(true) y sizeof(false) para ser 1 pero serán lo mismo que sizeof(bool) . Nota al pie 69 para el estándar C ++:

sizeof (bool) no es necesario que sea 1.

Probablemente encontrará que sizeof(TRUE) y sizeof(FALSE) son sizeof(int) ya que TRUE y FALSE a menudo se definen como tipos int , pero no sería prudente suponer esto.


El resaltado de sintaxis es solo para el usuario para que pueda entender que la palabra que ingresó es una keyword para el idioma. Cada idioma tiene su propio conjunto de palabras clave.

Solo para aclarar, ese no es el ''compilador'' que cambia el color. Eso es visual studio haciendo eso por ti. Basado en la extensión del archivo. Es decir (.cpp .java .py .js) el software cambiará por diferentes palabras.

El capital TRUE y FALSE son específicos de la API de Windows (más específicamente, macros) y, en el caso de las minúsculas, son específicos del lenguaje c ++.