首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我在哪里可以找到C(和/或C++)关键字的列表,包括K&R1/2,C89-C1X及其来源?

问我在哪里可以找到C(和/或C++)关键字的列表,包括K&R1/2,C89-C1X及其来源?
EN

Stack Overflow用户
提问于 2011-11-15 16:28:03
回答 4查看 1.1K关注 0票数 4

我已经接触过无数的编码指南,每个编码准则都给出了命名“事物”的指南。一个特定的C89命名规则触发了这个问题:明确禁止为变量使用'new‘名称,因为在C++中这是一个关键字。

这让我开始思考下一步的标准,C99已经有了很好的文档,但是C11相对来说是新的(2014年)。标准委员会还有几个扩展还在进行中。

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

尽管严格地说complex不是关键字,但最好包括类似的定义。C++信息也是非常感谢的。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-01-10 10:24:50

感谢所有的回答和评论,但简单地列出关键字并不完全是我的问题的意图。尤其是,

..。它们的起源..。

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

这就是为什么我已经开始收集我自己的数据,并将其放入文档中。我仍在努力工作,特别是1995年AM1对C90标准的修正还没有完全包括在内,因为C++只使用了最新的C++11标准(部分),还有几份技术报告还需要收录,等等。但由于工作量的原因,我目前没有进行很多更新,所以我已经在我的网站上发布了一个供下载的草稿。

如果您感兴趣,请看这里:C (pdf)中的保留字。欢迎添加和更正,联系方式在我的网站上。

FWIW

票数 0
EN

Stack Overflow用户

发布于 2011-11-15 17:00:29

来自n3242 (即C++11)

2.12关键词

表4-关键词

代码语言:javascript
复制
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

表5-备选表述

代码语言:javascript
复制
and      and_eq           bitand        bitor       compl
not      not_eq           or            or_eq       xor
xor_eq

来自n1256 (C99)

A.1.2关键词

代码语言:javascript
复制
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
票数 6
EN

Stack Overflow用户

发布于 2011-11-15 16:59:53

  • 和
  • and_eq
  • 对齐
  • 对齐
  • asm
  • 自动
  • 比德
  • 比特
  • 布尔值
  • 中断
  • 案例
  • 捕捉
  • 字符
  • char16_t
  • char32_t
  • 班级
  • 复配
  • 常量
  • 司法官
  • const_cast
  • 继续
  • 解密型
  • 默认设置
  • 删除
  • 双倍
  • dynamic_cast
  • 否则
  • 枚举
  • 显式
  • 导出
  • 外露
  • 错误
  • 浮动
  • 为
  • 朋友
  • 转到
  • 如果
  • 内联
  • 整型
  • 长
  • 易变
  • 命名空间
  • 新的
  • 不,除了
  • 不
  • not_eq
  • 空
  • 运算符
  • 或
  • or_eq
  • 私有
  • 受保护
  • 公共的
  • 寄存器
  • reinterpret_cast
  • 返回
  • 短的
  • 署名
  • 大面积
  • 静态
  • static_assert
  • static_cast
  • 结构
  • 交换机
  • 模板
  • 这
  • thread_local
  • 抛出
  • 真的
  • 试一试
  • 胡枝子f
  • 类型
  • 类型名称
  • 友联市
  • 未签名
  • 使用
  • 虚拟
  • 空洞
  • 易失性
  • wchar_t
  • 而
  • 异或
  • xor_eq

来自cppreference.com

  • 自动
  • _Bool
  • 中断
  • 案例
  • 字符
  • _Complex
  • 常量
  • 继续
  • 默认设置
  • 做
  • 双倍
  • 否则
  • 枚举
  • 外露
  • 浮动
  • 为
  • 转到
  • 如果
  • _Imaginary
  • 内联
  • 整型
  • 长
  • 寄存器
  • 限制
  • 返回
  • 短的
  • 署名
  • 大面积
  • 静态
  • 结构
  • 交换机
  • 胡枝子f
  • 友联市
  • 未签名
  • 空洞
  • 易失性
  • 而

从维基百科

格式化这很有趣。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/8139659

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档