帮我整理一下C++11所有知识点
时间: 2023-05-24 16:02:30 浏览: 101
C++11 Summary
A:
C11标准主要对以下方面进行了改进:
1. 原子操作:C11添加了一套原子操作API,用于在多线程应用程序中执行原子操作,防止竞争条件。
2. 多线程:C11定义了一组库函数,用于创建、共享和同步线程的操作。
3. 静态断言:静态断言是编译时断言,而不是运行时断言,它能够在编译时检查程序的有关属性是否符合预期。C11中添加了_Static_assert关键字,用于实现静态断言。
4. Unicode 字符串支持:C11提供了一组库函数,用于在处理Unicode字符串时使用的字符和字符串I / O。
5. 安全和boundaries:C11在库和语言层面上增强了安全性和下界检查,防止缓冲区溢出等常见错误。
6. Type Generics:C11对C语言添加了一些新的“泛型”特性,使得在编译时根据特定的类型来生成代码更加容易。
7. 对齐和 _Alignof:C11增加了一个包含 _Alignof 运算符, 该运算符返回请求的类型的自然对齐方式的大小 。这无疑帮助程序员更好的理解程序的性能问题。
8. remove 指针:C11提供了一个新的关键字 _Generic,它可以根据输入表达式的类型自动选择正确的代码块,从而方便地处理不同类型的指针。它还通过添加 remove关键字来解决泛型指针的一些问题,remove 关键字将指针的类型“去掉”,只保留其中的基本类型。
9. 原子类型支持:C11增加了对 _Atomic 的支持,允许应用程序对特定的变量或数据结构强制要求原子访问。
10. 无名联合体:C11允许在联合体中定义无名成员。这使得程序员可以创建大小和类型不可用的联合体,无需分配任何内存。
以上是C11的主要特性和改进,包括了原子操作、多线程、静态断言、Unicode支持、安全和边界、Type Generics、对齐和_Alignof、remove指针、原子类型支持、无名联合体等。
阅读全文