众所周知,C++都采用C语言的特性,但C语言也标准化了C++特性.C1x已经获得了完整的表达临时表(之前它只有序列点临时表).C1x也从C++ 11线程工作中获益.
我想知道C1x从C++中获得了哪些其他功能?
一些相似之处包括:
_Static_assert ( constant-expression , string-literal );char16_t= uint_least16_t),文字和实用程序._Generic_Generic实际上更像是重载而不是我们对模板的强大功能.无处不在的例子_Generic是:
#define cbrt(X) _Generic((X), long double: cbrtl, \
default: cbrt, \
float: cbrtf)(X)
Run Code Online (Sandbox Code Playgroud)
..但我不确定哪些是从C++明确继承的.
C1x(5.1.2.4)的线程部分几乎完全取自C++ 11.出于所有实际目的,诸如"冲突"和"原子操作"之类的术语具有相同的定义.
对齐也受到C++ 11的启发:关键字是alignof,最大对齐类型是max_align_t(std::当然,删除命名空间).