代码之家  ›  专栏  ›  技术社区  ›  EnvelopedDevil

为什么在Visual Studio中,单词“false”写为蓝色,单词“false”写为紫色?

  •  30
  • EnvelopedDevil  · 技术社区  · 10 年前

    为什么Visual Studio根据输入方式更改单词颜色:

    false 蓝色,但是 FALSE 紫色。
    true 蓝色但 TRUE 紫色。

    它们的含义有什么不同吗?如果有,是什么?

    3 回复  |  直到 10 年前
        1
  •  38
  •   Sneftel    10 年前

    false 是C++中的关键字;因为同样的原因它是蓝色的 for 是蓝色的。 FALSE 是由Windows API声明的预处理器宏;因为同样的原因它是紫色的 MYFILE_H_DEFINED 是紫色的。如果您进入C++的编辑器首选项,您将看到MSVC用于不同标识符的颜色。

    顺便说一句,TRUE和FALSE是WinAPI特有的,是对C的一种回溯,除非与WinAPI通信,否则不应使用TRUE和FALSE。

        2
  •  36
  •   Rapptz    10 年前

    true false 关键词 在C++中,所以IDE(而不是编译器)将它们涂成蓝色。

    TRUE和FALSE通常由各种标头定义,主要是为了与C和旧版C++编译器兼容,其中 真的 假的 关键词。

    至于它们的等价性,C++标准确实 定义 sizeof(true) sizeof(false) 是1,但他们 与…相同 sizeof(bool) .C++标准的脚注69:

    sizeof(bool)不需要为1。

    你可能会发现 sizeof(TRUE) sizeof(FALSE) sizeof(int) 因为TRUE和FALSE通常定义为 int 类型,但假设这是不明智的。

        3
  •  5
  •   stu Jay    10 年前

    语法高亮显示仅针对用户,因此您可以理解键入的单词是 keyword 语言。每种语言都有自己的关键词集。

    只是澄清一下,这不是“编译器”更改颜色。这是视觉工作室为你做的。基于文件的扩展名。一、 e(.cpp.java.py.js)软件将根据不同的单词进行更改。

    大写TRUE和FALSE特定于Windows API(更具体地说是宏),至于小写,则特定于c++语言。