为什么Visual Studio根据输入方式更改单词颜色:
它们的含义有什么区别,如果有的话是什么?
false
以蓝色表示,但FALSE
以紫色表示。true
以蓝色表示,但TRUE
以紫色表示。它们的含义有什么区别,如果有的话是什么?
false
以蓝色表示,但FALSE
以紫色表示。true
以蓝色表示,但TRUE
以紫色表示。false
是 C++ 中的一个关键字,与 for
一样是蓝色的。 FALSE
是由 Windows API 声明的预处理器宏,与 MYFILE_H_DEFINED
一样是紫色的。 如果您进入C++编辑器首选项,您会看到MSVC对不同标识符使用的颜色。
顺便提一下,TRUE和FALSE是WinAPI特定的,并且是对C的回顾,除了与WinAPI通信时不应使用之外,不应使用。
true
和 false
是 C++ 中的关键字,因此您的 IDE(而不是编译器)会将它们标记为蓝色。
TRUE 和 FALSE 经常由各种头文件定义,主要是为了与 C 和旧的 C++ 编译器兼容,在这些编译器中,true
和 false
不是关键字。
至于它们的等价性,C++ 标准不将sizeof(true)
和sizeof(false)
定义为1,但它们将与sizeof(bool)
相同。C++标准的69脚注:
sizeof(bool)不需要为1。
您可能会发现sizeof(TRUE)
和sizeof(FALSE)
是sizeof(int)
,因为 TRUE 和 FALSE 常被定义为int
类型,但假设如此可能不明智。
关键字
。每种语言都有自己的一组关键字。
FALSE
和TRUE
是宏。 - Retired Ninjatrue
和TRUE
之间是否存在语义差异?” 所以:这绝对属于SO的范畴。 - Bakuriu