http://bbs.chinaunix.net/thread-4264941-1-1.html

1、   C语言的C11 标准有哪些改进的地方?会对各类C项目起到哪些帮助?

1. 对齐处理操作符 alignof,函数 aligned_alloc(),以及 头文件 <stdalign.h>。
2. _Noreturn 函数标记,类似于 gcc 的 __attribute__((noreturn))。
3. _Generic 关键词,有点儿类似于 gcc 的 typeof。
4. 静态断言( static assertions),_Static_assert(),在解释 #if 和 #error 之后被处理。
5. 删除了 gets() 函数,C99中已经将此函数被标记为过时,推荐新的替代函数 gets_s()。
6. 新的 fopen() 模式,(“…x”)。类似 POSIX 中的 O_CREAT|O_EXCL,在文件锁中比较常用。
7. 匿名结构体/联合体,这个早已经在 gcc 中了,我们并不陌生,定义在 6.7.2.1 p13。
8. 多线程支持,包括:_Thread_local,头文件 <threads.h>,里面包含线程的创建和管理函数(比如 thrd_create(),thrd_exit()),mutex (比如 mtx_lock(),mtx_unlock())等等,更多内容清参考 7.26 节。
9. _Atomic类型修饰符和 头文件 <stdatomic.h>,见 7.17 节。
10. 带边界检查(Bounds-checking)的函数接口,定义了新的安全的函数,例如 fopen_s(),strcat_s() 等等。更多参考 Annex K。
11. 改进的 Unicode 支持,新的头文件 <uchar.h> 等。
12. 新增 quick_exit() 函数,作为第三种终止程序的方式,当 exit() 失败时可以做最少的清理工作(deinitializition),具体见 7.22.4.7。
13. 创建复数的宏, CMPLX()
14. 更多浮点数处理的宏 (More macros for querying the characteristics of floating point types, concerning subnormal floating point numbers and the number of decimal digits the type is able to store)。
15. struct timespec 成为 time.h 的一部分,以及宏 TIME_UTC,函数 timespec_get()。
这些改进的地方对程序员来说增加了不少的功能,可以减少原来自己实现的一些功能代码。

2、   C11 为何不如 C++11 流行?如果说微软对 C 不感兴趣,还可以理解。毕竟Windows 上 C++ 的更多。但开源社区 C 才是一等公民,为何新标准没有成为主流呢?
C++11的改进:
1.对C++核心语言的扩充
2.核心语言运行期的强化(右值引用和 move 语义;泛化的常数表达式;对POD定义的修正)
3.核心语言建构期表现的加强(外部模板)
4.核心语言使用性的加强(初始化列表;统一的初始化;类型推导[auto关键字];以范围为基础的 for 循环;Lambda函数与表示法;另一种的函数语法;对象构建的改良;显式虚函数重载;空指针;强类型枚举;角括号;显式类型转换;模板的别名;无限制的unions)
5.核心语言能力的提升(变长参数模板;新的字符串字面值;用户自定义的字面值;多任务存储器模型;thread-local的存储期限;使用或禁用对象的默认函数;long long int 类型;静态assertion;允许sizeof运算符作用在类型的数据成员上,无需明确的对象
6.C++标准程序库的变更(标准库组件的升级;线程支持;多元组类型;散列表;正则表达式;通用智能指针;可扩展的随机数功能;包装引用;多态函数对象包装器;用于元编程的类型属性;用于计算函数对象返回类型的统一方法)
不管怎么说,C++是面向对象的编程语言,在当前的大环境中,面向对象还是一个主流的开发。虽然说C在开源社区是一等公民。但毕竟C的就业范围比较小。不如面向对象语言这么广泛。

3、   最让C程序员恐惧的C++特性是哪一个?哪个C++拥有而C没有的feature是你认为弊大于利的呢? 或者说, 哪个C++有而C没有的pitfall是你无法接受的?
面向对象。

4、   C、Scheme、Lua 和 Go 究竟哪个最简单(最易上手/复杂度最低/最易精通)?
觉得还是C吧。

C语言的C11 标准有哪些改进的地方?C11 为何不如 C++11 流行?相关推荐

  1. c语言c11标准用得多吗,C语言的C11 标准有哪些改进的地方?C11 为何不如 C++11 流行?...

    1.   C语言的C11 标准有哪些改进的地方?会对各类C项目起到哪些帮助? 1. 对齐处理操作符 alignof,函数 aligned_alloc(),以及 头文件 . 2. _Noreturn 函 ...

  2. 《C语言编程魔法书:基于C11标准》——第一篇 预备知识篇 第1章 C魔法概览1.1 例说编程语言...

    本节书摘来自华章计算机<C语言编程魔法书:基于C11标准>一书中的第1章,第1.1节,作者: 陈轶 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 第一篇 预备 ...

  3. c语言c99标准_C语言的三套标准:C89、C99和C11

    我们今天使用的 Windows.Linux.Mac OS 等操作系统都是由一种叫做 Unix 的系统演化而来.Unix 作为80年代主流的操作系统,是整个软件工业的基础,是现代操作系统的开山鼻祖,C语 ...

  4. C语言的三套标准:C89、C99和C11

    我们今天使用的 Windows.Linux.Mac OS 等操作系统都是由一种叫做 Unix 的系统演化而来.Unix 作为80年代主流的操作系统,是整个软件工业的基础,是现代操作系统的开山鼻祖,C语 ...

  5. 《C语言编程魔法书:基于C11标准》——1.3 主流C语言编译器介绍

    本节书摘来自华章计算机<C语言编程魔法书:基于C11标准>一书中的第1章,第1.3节,作者: 陈轶 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 1.3 主流 ...

  6. C11标准委员会成员解读C语言新标准

    导读:C语言国际标准新的新草案之前已经公布,新标准提高了对C++的兼容性,并将新的特性增加到C语言中.此外支持多线程的功能也受到了开发者的关注,基于ISO/IEC TR 19769:2004规范下支持 ...

  7. c语言魔法书,C语言编程魔法书:基于C11标准

    C语言编程魔法书:基于C11标准 作者:陈轶 著 出版日期:2017年05月 文件大小:10.29M 支持设备: ¥60.00在线试读 适用客户端: 言商书局 iPad/iPhone客户端:下载 An ...

  8. c语言程序设计资料书下载,C语言编程魔法书:基于C11标准 (陈轶著) 完整pdf高清版[20MB]...

    C语言编程魔法书:基于C11标准主要讲解C11标准的语法内容,并且从整个编译.连接到加载过程都会涉及.同时在后会分别介绍GCC编译器与Clang编译器的C语言语法扩展.通过阅读本书,读者能够完全掌握新 ...

  9. 《C语言编程魔法书:基于C11标准》——2.9 本章小结

    本节书摘来自华章计算机<C语言编程魔法书:基于C11标准>一书中的第2章,第2.9节,作者: 陈轶 更多章节内容可以访问云栖社区"华章计算机"公众号查看. 2.9 本章 ...

  10. 《C语言编程魔法书:基于C11标准》——3.3 本章小结

    本节书摘来自华章计算机<C语言编程魔法书:基于C11标准>一书中的第3章,第3.3节,作者 陈轶,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.3 本章小 ...

最新文章

  1. 草根版创业网站学巴菲特售时间 获天使投资
  2. 重庆邮电大学计算机学院院徽,Slide计算机学院-重庆邮电大学.PPT
  3. Redis操作hash类型
  4. php try catch
  5. Codeforces Round #655 (Div. 2) E. Omkar and Last Floor 区间dp + 巧妙的状态设计
  6. 设计模式示例_命令设计模式示例
  7. 【渝粤题库】广东开放大学 会展概论 形成性考核
  8. Veil生成免杀payload 渗透win10 获取靶机shell
  9. 通信基站c语言,[转]2015年数学建模C题–基于无线通信基站的室内三维定位问题...
  10. 搭建MIPS平台GDB调试环境
  11. 计算机无法上网修复工具,网络异常修复工具,连接后无法上网修复方式
  12. ENVI波段运算模块功能
  13. C语言网络编程——基础
  14. jupyter添加新的语言包
  15. c语言case后语句,switch语句中case后的标号是什么
  16. 寄昙说 剑子仙迹 天之佛
  17. Win系统 - 桌面图标:乖乖躺好别乱动!
  18. Vue.js如何获得兄弟元素,子元素,父元素(DOM操作)
  19. 给定一个由N个非负整数构成的序列,我们来定义一下序列的中位数,如果N是奇数,在对序列排序后,中位数就是最中间的那个数,即排序后,中位数的位置为(N+1)/2,这里序列的位置从1开始。如果N是偶数,则中
  20. nuc977 led 新唐自带gpio linux驱动

热门文章

  1. 安装多个 PHP 版本(PHP7, PHP5)
  2. nsis升级包_NSIS制作软件升级安装包完整教程
  3. SDL2.0超简单入门 100行代码实现播放wav声音文件
  4. 计算机辅助翻译软件差异,两款计算机辅助翻译软件的比较
  5. “差不多先生”姚劲波和不再神奇的58同城
  6. c语言课后练习题第四章
  7. lisp型材库_基于Auto LISP 创建V 带轮标准件库
  8. 影响你成功最重要的两种人
  9. 2013-1-30 六级词汇造句
  10. 【渝粤教育】电大中专计算机常用工具软件 (2)_1作业 题库