C标准&C++标准

C标准: ISO/IEC 9899

WG14是C国际化标准化工作组 ISO/IEC JTC1/SC22/WG14 - C

K&R C

起初,C语言没有官方标准。1978年由美国电话电报公司(AT&T)贝尔实验室正式发表了C语言。布莱恩·柯林汉(Brian Kernighan) 和 丹尼斯·里奇(Dennis Ritchie) 出版了一本书,名叫《The C Programming Language》。这本书被C语言开发者们称为K&R,很多年来被当作C语言的非正式的标准说明。人们称这个版本的C语言为K&R C。

C89/ANSI C

1970到80年代,C语言被广泛应用,从大型主机到小型微机,也衍生了C语言的很多不同版本。
1983年,美国国家标准协会(ANSI)成立了一个委员会X3J11,来制定 C语言标准。
1989年,美国国家标准协会(ANSI)通过了C语言标准,被称为ANSI X3.159-1989 "Programming Language C"。因为这个标准是1989年通过的,所以一般简称C89标准。有些人也简称ANSI C,因为这个标准是美国国家标准协会(ANSI)发布的。
1990年,国际标准化组织(ISO)和国际电工委员会(IEC)把C89标准定为C语言的国际标准,命名为ISO/IEC 9899:1990 - Programming languages -- C。因为此标准是在1990年发布的,所以有些人把简称作C90标准。不过大多数人依然称之为C89标准,因为此标准与ANSI C89标准完全等同。
修订版本:
ISO/IEC 9899:1990/Cor 1:1994
ISO/IEC 9899:1990/Amd 1:1995
ISO/IEC 9899:1990/Cor 2:1996

C99

1999年1月,国际标准化组织(ISO)和国际电工委员会(IEC)发布了C语言的新标准,名叫ISO/IEC 9899:1999 - Programming languages -- C,简称C99标准。这是C语言的第二个官方标准。
修订版本:
ISO/IEC 9899:1999/Cor 1:2001
ISO/IEC 9899:1999/Cor 2:2004
ISO/IEC 9899:1999/Cor 3:2007

C11

2011年12月8日,国际标准化组织(ISO)和国际电工委员会(IEC)再次发布了C语言的新标准,名叫ISO/IEC 9899:2011 - Information technology -- Programming languages -- C ,简称C11标准,原名C1X。这是C语言的第三个官方标准。
修订版本:
ISO/IEC 9899:2011/Cor 1:2012

2022-02-26:Linus宣布将在内核版本v5.18 中尝试使用C11标准。

C17

ISO/IEC 9899:2018。没有引入新的语言特性,只对 C11 进行了补充和修正。

C++标准: ISO/IEC 14882

WG21是C++标准委员会 ISO/IEC JTC1/SC22/WG21 - The C++ Standards Committee - ISOCPP

C++ 98

C++标准第一版,1998年发布。正式名称为ISO/IEC 14882:1998。
绝大多数编译器都支持C++98标准。不过当时错误地引入了export关键字。由于技术上的实现难度,除了Comeau C++编译器export关键字以外,没有任何编译器支持export关键字。并且这个标准对现代的一些编译理念有相当的差距,有很多在高级语言都应当有的功能,它都没有。这也正是后来需要制定C++11标准的原因所在。

C++ 03

C++标准第二版,2003年发布。正式名称为ISO/IEC 14882:2003。这个标准仅仅是C++98修订版,与C++98几乎一样,没做什么修改。仅仅是对C++98做了一些“勘误”,就连主流编译器(受C99标准影响)都已支持的long long都没有被加入C++03标准。

C++ 11

C++标准第三版,2011年8月12日发布。正式名称为ISO/IEC 14882:2011。
由C++标准委员会于2011年8月12日公布,并于2011年9月出版。2012年2月28日的国际标准草案(N3376)是最接近于现行标准的草案(编辑上的修正)。C++11包含了核心语言的新机能,并且拓展C++标准程序库,并且加入了大部分的C++ Technical Report 1程序库(数学上的特殊函数除外)。此次标准为C++98发布后13年来第一次重大修正。

C++ 14

C++标准第四版,2014年8月18日发布。正式名称为ISO/IEC 14882:2014。
2014年8月18日,ISO组织在其网站上发布文章称:
C++ 作者 Bjarne Stroustrup 称,主要的编译器开发商已经实现了 C++ 14 规格。
C++ 14 是 C++ 11 的增量更新,主要是支持普通函数的返回类型推演,泛型 lambda,扩展的 lambda 捕获,对 constexpr 函数限制的修订,constexpr变量模板化等。

C++ 17

2017年12月5日发布,正式名称为 ISO/IEC 14882:2017。

C++ 20

2020年12月18日发布,正式名称为 ISO/IEC 14882:2020。
C++20新特性:
    模块 (Modules)    
    协程 (Coroutines)    
    范围 (Ranges)    
    概念与约束 (Constraints and concepts)    
    指定初始化 (designated initializers)    
    操作符 <=> != ==    
    constexpr支持:new/ delete、dynamic_cast、try/ catch、虚拟    
    constexpr 向量和字符串    
    计时:日历、时区支持    
    std::format    
    std::span    
    std::jthread

  • 5
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值