Env*_*vil 29 c++ ide syntax-highlighting visual-studio
为什么Visual Studio会根据输入的方式更改单词颜色:
false蓝色,但FALSE有紫色.
true蓝色但TRUE有紫色.
它们的含义是否有任何区别,如果是,它是什么?
Sne*_*tel 38
false是C++中的关键字; 出于同样的原因它for是蓝色的蓝色.FALSE是Windows API声明的预处理器宏; 因为同样的原因它MYFILE_H_DEFINED是紫色的紫色.如果您进入C++的编辑器首选项,您将看到MSVC用于不同标识符的颜色.
顺便提一下,TRUE和FALSE是WinAPI特有的并且是C的回归,除非与WinAPI通信时,否则不应该使用它.
Bat*_*eba 36
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类型,但它是不明智的承担起这个.
语法突出显示仅适用于用户,因此您可以理解您键入的单词是keyword针对该语言的.每种语言都有自己的关键字.
只是为了澄清,那不是"编译器"改变颜色.那是视觉工作室为你做的.基于文件的扩展名.即(.cpp .java .py .js)软件将针对不同的单词进行更改.
首都TRUE和FALSE特定于Windows API(更具体地说是宏),而小写字母则特定于c ++语言.
| 归档时间: |
|
| 查看次数: |
3475 次 |
| 最近记录: |