cpp11有哪些新特性
时间: 2023-05-25 08:05:55 浏览: 56
1. auto关键字:可以自动推导变量类型。
2. lambda表达式:可在函数内部定义匿名函数。
3. 右值引用和移动构造函数:可以提高代码效率。
4. nullptr关键字:表示空指针。
5. range-based for循环:可以遍历容器元素。
6. constexpr关键字:可以在编译时对表达式进行求值。
7. 委托构造函数:可以在构造函数中调用其他构造函数。
8. override关键字:用于表示函数覆盖基类的虚函数。
9. final关键字:用于表示类或虚函数不能被派生类或子类重写。
10. 智能指针:shared_ptr、unique_ptr和weak_ptr。
11. Unicode字符串和原始字符串字面值。
相关问题
cpp11的所有新特性
1. 自动类型推导
2. 列表初始化
3. foreach循环
4. lambda表达式
5. 右值引用和移动语义
6. 委托构造函数
7. 默认和删除函数
8. constexpr函数和常量表达式
9. 变长参数模板
10. 线程支持库
11. std::unique_ptr和std::shared_ptr
12. std::function
13. std::tuple和std::make_tuple
14. std::array和std::initializer_list
15. std::atomic
16. static_assert
17. override和final关键字
18. Unicode字符串支持
19. Null指针常量
20. Range-Based for循环
21. Move semantics
22. Variadic templates
23. Type traits
24. Lambda expressions
25. Uniform initialization
26. Delegating constructors
27. Explicit conversion operators
28. std::chrono
29. std::condition_variable_any
30. std::future和std::promise
31. Thread-local storage
32. std::regex
33. std::unordered_map和std::unordered_set
34. std::to_string和std::stoi等函数
35. std::forward和std::move函数
36. std::tie函数
37. std::enable_if和std::is_same等类型判定函数
cpp20的所有新特性
以下是C++20中的新特性:
1. 概念(Concepts):允许程序员定义可应用于不同类型的通用约束,以更好地控制模板参数。
2. 三向比较运算符:通过对任意两个值进行比较,返回小于、等于或大于,而不仅仅是小于或等于。
3. 初始化语句中的声明:在for循环的初始化语句中,现在允许使用声明语句。
4. 捕获this:在Lambda表达式中,现在可以显式地捕获this指针。
5. constexpr if:允许在编译时进行条件编译,以根据表达式的结果选择不同的代码路径。
6. 异常规范的简化:将异常规范从函数类型中删除,转而使用[[noexcept]]属性来表示函数是否会抛出异常。
7. consteval函数:类似于constexpr函数,但要求函数在编译时求值,并且返回值必须是常量表达式。
8. 可变的Lambda捕获:Lambda表达式现在可以捕获可变数据,例如变量或对象。
9. 位操作符的改进:对于位操作符,现在允许使用不同大小的整数类型进行操作。
10. 删除的默认函数的改进:现在可以使用=default来指定默认函数的删除版本。
11. 元编程改进:增加了一系列新的元编程工具,例如consteval,is_constant_evaluated和type_identity。
12. 模块化:引入了模块化的概念,允许程序员将代码分割成逻辑部分,以便更好地控制依赖关系和编译速度。
13. 时间库:引入了一个新的时间库,以便更好地处理日期和时间。
14. 协程:引入了协程的概念,允许程序员在函数中暂停和恢复执行。
15. 符号导出:引入了一种新的符号导出机制,以便更好地控制符号的可见性。
16. 包含文件:现在可以使用#include ""语法来包含文件,以便更好地控制包含路径。
17. 模板参数列表的简化:现在可以使用{}来简化模板参数列表的书写。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)