为什么 Visual Studio 会根据输入的方式改变单词颜色:
false
蓝色,但 FALSE
紫色。true
蓝色但TRUE
紫色.
它们的含义有什么不同吗?如果有的话是什么?
false
是C++中的关键字;出于同样的原因,它是蓝色的for
是蓝色的。 FALSE
是Windows API声明的预处理器宏;它是紫色的,原因与MYFILE_H_DEFINED
是紫色的原因相同。如果您进入 C++ 的编辑器首选项,您会看到 MSVC 用于不同标识符的颜色。
顺便说一句,TRUE 和 FALSE 是特定于 WinAPI 的,是对 C 的回溯,除非与 WinAPI 通信,否则不应使用。
true
和 false
是 C++ 中的 keywords 所以你的 IDE(不是编译器)将它们涂成蓝色。
TRUE 和 FALSE 通常由各种标头定义,主要是为了与 C 和旧的 C++ 编译器兼容,其中
true
和 false
是 not 关键字。
至于它们的等价性,C++ 标准 not 将
sizeof(true)
和 sizeof(false)
定义为 1,但它们 will 与 sizeof(bool)
相同。 C++ 标准的脚注 69:
sizeof(bool) 不需要是 1.
您可能会发现
sizeof(TRUE)
和 sizeof(FALSE)
是 sizeof(int)
因为 TRUE 和 FALSE 通常被定义为 int
类型,但假设这一点是不明智的。
语法高亮仅供用户使用,因此您可以理解您输入的单词是该语言的
keyword
。每种语言都有自己的一组关键字。
澄清一下,这不是“编译器”改变颜色。那是 visual studio 为你做的。基于文件的扩展名。即(.cpp .java .py .js)软件会因不同的词而改变。
大写的 TRUE 和 FALSE 是 Windows API 特有的(更具体地说是--macros),至于小写是 c++ 语言特有的。
同样的“确切”事情发生在我身上 ^完全正确 选项卡上的 C 图片对于 .h 文件为紫色,对于 .c 文件为蓝色 有人知道为什么吗