Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/133.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 在哪里可以找到涵盖K&;的C(和/或C+;+;)关键字列表;R1/2、C89-C1X及其起源?_C++_C_Language Lawyer - Fatal编程技术网

C++ 在哪里可以找到涵盖K&;的C(和/或C+;+;)关键字列表;R1/2、C89-C1X及其起源?

C++ 在哪里可以找到涵盖K&;的C(和/或C+;+;)关键字列表;R1/2、C89-C1X及其起源?,c++,c,language-lawyer,C++,C,Language Lawyer,我接触过许多编码准则,其中每一条都给出了命名“事物”的准则。一个特定的C89命名规则触发了这个问题:它明确禁止使用变量“New”,因为在C++中,这是一个关键字。 这让我开始思考下一个标准,C99有很好的文档记录,但C11相对较新(2014年)。标准委员会还有几项扩展工作正在进行中 因此,我想知道是否有人可以提供一个包含关键字及其来源的列表,以便制定一套命名规则,包括避免使用几个名称的原因 尽管严格意义上的complex不是一个关键词,但最好包含类似的定义。而且C++信息也很受欢迎。UL> 及

我接触过许多编码准则,其中每一条都给出了命名“事物”的准则。一个特定的C89命名规则触发了这个问题:它明确禁止使用变量“New”,因为在C++中,这是一个关键字。 这让我开始思考下一个标准,C99有很好的文档记录,但C11相对较新(2014年)。标准委员会还有几项扩展工作正在进行中

因此,我想知道是否有人可以提供一个包含关键字及其来源的列表,以便制定一套命名规则,包括避免使用几个名称的原因

尽管严格意义上的
complex
不是一个关键词,但最好包含类似的定义。而且C++信息也很受欢迎。

UL>
  • 和_eq
  • 阿利加斯
  • 对齐
  • asm
  • 自动的
  • 比特
  • 比特
  • 布尔
  • 中断
  • 案例
  • 抓住
  • 煤焦
  • char16\u t
  • char32_t
  • 阶级
  • 康普
  • 常数
  • constexpr
  • 康斯塔
  • 继续
  • 脱模
  • 违约
  • 删除
  • 双重的
  • 动态浇铸
  • 否则
  • 枚举
  • 明确的
  • 出口
  • 外行
  • 假的
  • 浮动
  • 为了
  • 朋友
  • 后藤
  • 如果
  • 内联
  • int
  • 长的
  • 易变的
  • 名称空间
  • 新的
  • 不例外
  • 不是
  • 非均衡器
  • nullptr
  • 接线员
  • 私人的
  • 保护
  • 公开的
  • 登记册
  • 重新解释
  • 返回
  • 签名
  • sizeof
  • 静止的
  • 静态断言
  • 静态浇铸
  • 结构
  • 开关
  • 模板
  • 这个
  • 本地线程
  • 真的
  • 试一试
  • 类型定义
  • 类型ID
  • 字体名
  • 联合
  • 未签名
  • 使用
  • 虚拟的
  • 空虚
  • 易变的
  • wchar\t
  • 异或
  • xor_方程
    • 自动的
    • _布尔
    • 中断
    • 案例
    • 煤焦
    • _复杂的
    • 常数
    • 继续
    • 违约
    • 双重的
    • 否则
    • 枚举
    • 外行
    • 浮动
    • 为了
    • 后藤
    • 如果
    • _想象的
    • 内联
    • int
    • 长的
    • 登记册
    • 限制
    • 返回
    • 签名
    • sizeof
    • 静止的
    • 结构
    • 开关
    • 类型定义
    • 联合
    • 未签名
    • 空虚
    • 易变的

    格式化这很有趣。

    来自n3242(即C++11) 2.12关键词 表4-关键词

    表5-备选方案

    从N256(C99) A.1.2关键词
    谢谢你的回答和评论,但我的问题并不是简单地列出一系列关键词。特别是

    。。。他们的起源

    显然被忽视了。但在起草编码指南时,您总是需要给出每个限制的基本原理

    这就是为什么我开始收集自己的数据,并将其放入文档中。我还在努力,特别是1995版的C90标准的AM1修正案并没有完全包含在内,对于C++,只有最新的C++ 11标准已经被使用(部分),一些技术报告仍然需要包含在内。但是由于我目前没有因为工作量而进行许多更新,所以我在我的网站上发布了一个草稿版本。 如果你感兴趣,请看这里:。 欢迎添加和更正,联系方式请访问我的网站


    FWIW.

    C11有了新的关键词。其中一些是_Alignas,_Alignof。
    您可以在

    中找到完整的列表。您应该对编码标准稍加重视。他们太多了,如果你跟随其中的一半,你永远无法完成一个项目。可能是真的,但作为一名顾问,我有时会被问到(大多数时候我也不得不跟随一个)。我宁愿给出有根据的建议,也不愿给他们一套没有理由的规则。我已经看过软件使用<代码>新< /COD>,<代码>复数< /COD>,<代码>十进制< /代码>,并根据下一组标准,或移植到C++,我希望有这样的列表。你想知道什么?在C++中,所有的类型/对象都在命名空间STD::这样就不会与你的类型名称(如复杂)冲突。所以你需要担心的就是关键词。标准K&R1中定义了一个关键字
    条目
    ,TR19769定义了新的字符数据类型,
    volatile
    在C94中引入(IIRC),C1X添加了大量内容。也许它不存在,但我有兴趣把所有这些都放在一个地方。或者您是否知道避免使用变量名
    小数128
    ?这是完整的列表吗?如果我没记错的话,我没有看到任何地方提到过
    long
    ,这也是标准的。@Als“long-long”是两个词。实际上,有两个关键词。格式化很有趣-滚动浏览它不是:)@Als我发现它令人奇怪地满意,尽管可能是因为错误的原因D“格式化这很有趣”->你应该试试Vim@ereOn Vim绝对很有趣。gg shift+v G>gg ctrl+v G c space-space esc由于一年多以来没有添加任何内容,而且我的文档也没有任何评论,因此我给自己打了一个最佳答案的分数。如果这不合适,请告诉我。
    alignas  alignof          asm           auto         bool
    break    case             catch         char         char16_t
    char32_t class            const         constexpr    const_cast 
    continue decltype         default       delete       double 
    do       dynamic_cast     else          enum         explicit 
    export   extern           false         float        for 
    friend   goto             if            inline       int 
    long     mutable          namespace     new          noexcept 
    nullptr  operator         private       protected    public 
    register reinterpret_cast return        short        signed 
    sizeof   static           static_assert static_cast  struct 
    switch   template         this          thread_local throw 
    true     try              typedef       typeid       typename 
    union    unsigned         using         virtual      void
    volatile wchar_t          while
    
    and      and_eq           bitand        bitor       compl
    not      not_eq           or            or_eq       xor
    xor_eq
    
    auto     enum             break         extern      case
    float    char             for           const       goto
    continue if               default       inline      do
    int      double           long          else        register
    restrict return           short         signed      sizeof
    static   struct           switch        typedef     union
    unsigned void             volatile      while       _Bool
    _Complex _Imaginary