「生活可以更简单, 欢迎来到我的开源世界」
  1. C++各版本
    1. C++11新特性
      1. 关键字及新语法
      2. STL 容器
      3. 多线程
      4. 智能指针内存管理
      5. 其他
    2. C++11 编译器支持:
  2. C各版本
    1. C99部分新特性
    2. C11
  3. Similar Posts
(转载)C和C++的历史版本迭代整理
2020-12-07
C++

原文:C和C++的历史版本迭代整理

介绍C和C++的历史版本迭代。部分常用特性说明。

C++各版本

C++版本之前也讲到过:C++中的RAII机制和互斥锁应用

百度百科:c++0x

维基百科:C++11

相比于C++03,C++11标准包含核心语言的新机能,而且扩展C++标准程序库,并入了大部分的C++ Technical Report 1程序库(数学的特殊函数除外)。

关于C++11的版本发布过程…:

上一个版本的C++国际标准是2003年发布的,所以叫C++ 03。然后C++国际标准委员会在研究C++ 03的下一个版本的时候,一开始计划是07年发布,所以最初这个标准叫C++ 07。但是到06年的时候,官方觉得07年肯定完不成C++ 07,而且官方觉得08年可能也完不成。最后干脆叫C++ 0x。x的意思是不知道到底能在07还是08还是09年完成。结果2010年的时候也没完成,最后在2011年终于完成了C++标准。所以最终定名为C++11。 参考:c++ 0x和c++ 11是什么关系?0x又是什么意思?

C++11新特性

参考:

C++11 新特性

关键字及新语法

void foo(int);   //(1)
void foo(void*); //(2)

foo(NULL); // 重载决议选择 (1),但调用者希望是 (2)
foo(nullptr); // 调用(2)

STL 容器

多线程

智能指针内存管理

其他

C++11 编译器支持:

参考的知乎问答:

C++11编译器的支持

参考zh.cppreference.com整理的对于各个标准特性的支持情况(包含C++11,C++14,17等等):

C++ 编译器支持情况表

选取GCC中个人目前注意的几个:

C各版本

参考:

维基百科:C语言

K&R C语言到ANSI/ISO标准C语言 (C89/C90)的改进包括:

C99部分新特性

(只截取了部分本人关注的):

但是各个公司对C99的支持所表现出来的兴趣不同。当GCC和其它一些商业编译器支持C99的大部分特性的时候[4],微软和Borland却似乎对此不感兴趣。

C11

参考:

维基百科:C11

虽然 gcc 与 clang 支持C11的语法,却没有实现strcat_s()等边界检查函数以及线程相关库。gcc的支持者狂热的四处宣称这些库是GNU C库的责任而不是gcc的责任——尽管gcc和GNU C库都是GNU项目的子项目。


Similar Posts

C++11的智能指针使用

C++不可拷贝类和右值引用

C++构造函数的隐式转换和转换函数

<⇧>