92-C++11中没有的C99、C11特性
B.9.12 C++11中没有的C99/C11特性
虽然在过去C或多或少可以看作是C++的子集,但是C99标准增加了一些C++没有的新特性。下面列出了一些只有C99/C11中才有的特性:
- 指定初始化器;
- 复合初始化器(Compound initializer);
- 受限指针(Restricted pointer)(即,restric指针);
- 变长数组;
- 伸缩型数组成员;
- 带可变数量参数的宏。
注意 以上所列只是在特定时期内的情况,随着时间的推移和C、C++的不断发展,列表中的项会有所增减。例如,C++14新增的一个特性就与C99的变长数组类似。
[1] FLT_RADIX用于表示3种浮点数类型的基数。——译者注
[2] NaN 分为两类: quite NaN 和 singaling NaN 。两者的区别是: quite NaN 的尾数部分最高位定义为 1 ,而 singaling NaN 最高位定义为 0 。——译者注
[3] 也称为世界标准时间,简称UTC,从英文“Coordinated Universal Time”/法文“Temps Universel Cordonné”而来。中国内地的时间与UTC的时差为+8,也就是UTC+8。——译者注
[4] fwide() 函数用于设置流的定向,根据 mode 的不同值来执行不同的工作。——译者注