【问题标题】:Why is "array" marked as a reserved word in Visual-C++?为什么“数组”在 Visual-C++ 中被标记为保留字?
【发布时间】:2008-12-16 20:31:13
【问题描述】:

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

【问题讨论】:

    标签: arrays visual-studio visual-c++ c++-cli


    【解决方案1】:

    它不是 ISO 标准下的保留字。微软的C++/CLIcli namespace中定义了array,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 删除命名空间开关 做新模板

    【讨论】:

      【解决方案2】:

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

      现在你可能会ask the reason "entry" was a reserved word in C in K&R 但不是在 C99 中 - 有人认为他们可能会在某个时候添加该功能,但最终决定反对它。

      【讨论】:

      • “entry”不是保留字
      【解决方案3】:

      在 C++/CLI 中使用。

      Visual C++ Language Reference: "array 关键字允许您创建一个动态数组,该数组分配在公共语言运行时堆上。"

      【讨论】:

        【解决方案4】:

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

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

        【讨论】:

        • 另一方面,它已经拥有比简单解析更多的信息,即智能感知。我猜 MS 从来不认为这是值得的。
        【解决方案5】:

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

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

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

        【讨论】:

          【解决方案6】:

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

          【讨论】:

            【解决方案7】:

            一个词在 MSVC 中被高亮并不意味着它是一个 C 或 C++ 关键字。如您所见,它还突出显示了许多非标准内容,例如__int64even __int128 although there's no 128-bit int type in MSVC

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 1970-01-01
              • 2020-07-28
              • 1970-01-01
              • 1970-01-01
              • 2012-05-18
              • 1970-01-01
              • 2018-01-02
              • 2011-12-31
              相关资源
              最近更新 更多