34

Visual Studio 语法高亮将此单词着色为蓝色,就好像它是关键字或保留字一样。我尝试在网上搜索它,但是“数组”这个词会导致搜索失败,我得到的主要是解释数组是什么的页面。它是干什么用的?

4

7 回答 7

65

它不是 ISO 标准下的保留字。微软的C++/CLIcli 命名空间中定义了数组,Visual Studio 的语法高亮将其视为保留字。这种用法将被视为供应商扩展,而不是任何国际 C 或 C++ 标准的一部分。

ISO C99关键字:

自动枚举限制无符号
打破外部返回无效
案例浮动空头易失
用于签名的字符
const goto sizeof _Bool
如果静态 _Complex 则继续
默认内联结构 _Imaginary
做int切换
双长类型定义
否则注册工会

ISO C++98 关键字:

而不是这个
and_eq dynamic_cast not_eq 抛出
asm else 运算符为真
自动枚举或尝试
位和显式 or_eq 类型定义
bitor 导出私有类型标识
布尔外部受保护的类型名
打破虚假的公会
大小写浮点寄存器无符号
捕捉 reinterpret_cast 使用
char朋友返回虚拟
类转到短空
compl 如果有符号 volatile
const inline sizeof wchar_t
const_cast int 静态 while
继续 long static_cast xor
默认可变结构 xor_eq
删除命名空间开关     
做新模板
于 2008-12-16T20:36:24.653 回答
10

It's used in C++/CLI.

Visual C++ Language Reference: "The array keyword lets you create a dynamic array that is allocated on the common language runtime heap."

于 2008-12-16T21:02:18.250 回答
10

它不是。至少不是在标准 C/C++ 中。

现在你可能会问为什么“entry”是 K&R 中的 C 中的保留字,但不是 C99 中的保留字——有人认为他们可能会在某个时候添加该功能,但最终决定反对。

于 2008-12-16T20:33:14.660 回答
2

Visual Studio 从不为他们漂亮的打印机定义不同的 C++ 语法而烦恼。ISO C++、VC++、C++/CLI 或只是旧的 C - 都共享相同的语法。因此,像数组和接口这样的名称都被视为关键字。

漂亮的打印机也很难发现 foo.cpp 中使用的 C++ 方言。您需要为此编译代码。目前漂亮的打印机可以对令牌进行操作,这意味着它只需要解析代码。

于 2008-12-17T11:07:25.410 回答
1

在哪个版本?谷歌搜索“c++ 保留字”没有显示这种用法。

我经常在示例代码中使用“数组”。

http://cs.smu.ca/~porter/csc/ref/cpp_keywords.html

于 2008-12-16T20:36:34.607 回答
0

它不是保留字,但 Microsoft Visual Studio 决定将其标记为蓝色,就好像它是保留字一样,但绝对不是根据 DD Malik 的“C++ Programming 5th Edition”。

于 2013-04-24T15:47:28.697 回答
0

在 MSVC 中突出显示一个词的事实并不意味着它是 C 或 C++ 关键字。如您所见,它还突出显示了许多非标准的东西,例如__int64,或者即使__int128MSVC 中没有 128 位 int 类型

于 2014-08-27T05:38:13.053 回答