# 🌞🌞🌞 2021年最新整理, C++ 学习资料,含C++ 11 / 14 / 17 / 20 / 23 新特性、入门教程、推荐书籍、优质文章、学习笔记、教学视频等
<br>
<div align=center>
<img width="70%" height="70%" src="https://user-images.githubusercontent.com/87457873/134297801-d13053cc-0a5d-4efd-9f02-9343b513fc33.png"/>
## 🚀 直达 [(# C++11)](#cpp_11) [(# C++14)](#cpp_14) [(# C++17)](#cpp_17) [(# C++20)](#cpp_20) [(# C++23)](#cpp_23)
<br>
</div>
# 🔥🔥🔥 [【重磅推荐收藏:C++ 参考手册】](https://c-cpp.com/cpp) - 11~20你想要查的,他都有
# 🌋 C++ 发展历程
* C++ 编程语言的历史可以追溯到 **1979 年**,当时 Bjarne Stroustrup 为博士学位论文进行了一些开发。在 Stroustrup 可以使用的所有语言中,有一种被称为 Simula 的语言,顾名思义,它可能是一种主要为仿真而设计的语言。Simula 67 语言是 Stroustrup 使用的变体,被认为是支持面向对象编程范例的主要语言。Stroustrup 发现这种范例对包装开发很有帮助。但是,Simula 语言对于实践和实际使用而言太慢了。
随后不久,Bjarne Stroustrup 希望通过支持面向对象范例来增强 C。他深入研究了 Smalltalk 的 OO 实现,以获取有关实现的想法。但是他不愿意为此放弃性能,因此他开始从事 “C with Classes (带有类的 C)” 的工作,希望 C++ 代码运行时应具有与 C 代码相似(或更好)的性能。
* **1983 年**,语言的名称从 “带有类的 C” 更改为 C++。C 语言中的 ++ 运算符是用于递增变量的运算符,它使您可以深入了解 Stroustrup 如何看待该语言。在此期间添加了许多新功能,其中最引人注目的是虚函数,函数重载,带有&符号的引用,const 关键字和使用两个正斜杠的单行注释。
* **1985 年**,Stroustrup 出版了名为*“C++ 编程语言” 的书籍*。同年,C++ 被实现为商业产品。该语言尚未正式标准化,因此使该书成为非常重要的参考。该语言在 1989 年再次进行了更新,以包括受保护的成员和静态成员,以及从多个类的继承。
* **1990 年**,发行了*《带注释的 C++ 参考手册*》。同年,Borland 的 Turbo C++ 编译器将作为商业产品发布。Turbo C++ 添加了许多其他库,这些库会对 C++ 的开发产生相当大的影响。尽管 Turbo C++ 的最后一个稳定版本是 2006 年,但该编译器仍被广泛使用。
* **1998 年**,C++ 标准委员会发布了第一个 C++ ISO / IEC 14882:1998 国际标准,其非正式名称为 C++ 98。据说*《带注释的 C++ 参考手册*》对标准的制定产生了很大的影响。还包括标准模板库,该模板库于 1979 年开始概念开发。2003 年,该委员会对 1998 年标准所报告的多个问题做出了回应,并对其进行了相应的修订。更改的语言称为 C++ 03。
* **2005 年**,C++ 标准委员会发布了一份技术报告(称为 TR1),详细介绍了他们计划添加到最新 C++ 标准中的各种功能。新标准被非正式地称为 C++ 0x,因为它有望在第一个十年结束之前的某个时间发布。具有讽刺意味的是,新标准要到 2011 年年中才会发布。直到那时为止,已经发布了几份技术报告,并且一些编译器开始为新功能添加实验性支持。
* **2011 年中**,新的 C++ 标准(称为 C++ 11)完成。Boost 库项目对新标准产生了重大影响,其中一些新模块直接来自相应的 Boost 库。一些新功能包括正则表达式支持,全面的随机化库,新的 C++ 时间库,原子支持,标准线程库 ,一种新的 for 循环语法,提供的功能类似于某些其他语言中的 foreach 循环,auto 关键字,新的容器类,对联合和数组初始化列表以及可变参数模板的更好支持。
* **2014 年**,C++ 14(也称为 C++ 1y)作为 C++11 的一个小扩展发布,主要功能是错误修复和小的改进,国际标准投票程序草案于 2014 年 8 月中完成,加强 lambda 函数,constexpr 和类型推导特性。
* **2017 年**,发布 C17 标准,C17 提供了很多东西。增强了核心语言和库。
* **2020 年**,发布 C++20 标准,推出了很多重量级功能,其中比较重要的有:
- Concepts:概念改变了我们思考和编程模板的方式。它们是模板参数的语义类别。它们使您可以直接在类型系统中表达您的意图。如果出了什么问题,您会收到清晰的错误消息。
- Ranges library:新的 ranges 库使它可以直接在容器上执行算法,用管道符号组成算法,并将其应用于无限数据流。
- Coroutines:由于协程,C++ 中的异步编程成为主流。协程是协作任务,事件循环,无限数据流或管道的基础。
- Modules:模块克服了头文件的限制。头文件和源文件的分离变得和预处理器一样过时了。最后,我们有更快的构建时间和更轻松的构建软件包的方法。
- Concurrency:Atomic Smart Pointers,Joining & Cancellable Threads,The C20 Synchronization Library,增强了 C++ 并发编程能力;
</br>
---
# 🚪 入门教程
### [C++ 入门教程(41课时) - 阿里云大学](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md)
* [C++ 教程](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E6%95%99%E7%A8%8B)
* [C++ 简介](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E7%AE%80%E4%BB%8B)
* [C++ 环境设置](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E7%8E%AF%E5%A2%83%E8%AE%BE%E7%BD%AE)
* [C++ 基本语法](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E5%9F%BA%E6%9C%AC%E8%AF%AD%E6%B3%95)
* [C++ 注释](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E6%B3%A8%E9%87%8A)
* [C++ 数据类型](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E6%95%B0%E6%8D%AE%E7%B1%BB%E5%9E%8B)
* [C++ 变量类型](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E5%8F%98%E9%87%8F%E7%B1%BB%E5%9E%8B)
* [C++ 变量作用域](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E5%8F%98%E9%87%8F%E4%BD%9C%E7%94%A8%E5%9F%9F)
* [C++ 常量](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E5%B8%B8%E9%87%8F)
* [C++ 修饰符类型](https://github.com/0voice/cpp_new_features/blob/main/C%2B%2B%20%E5%85%A5%E9%97%A8%E6%95%99%E7%A8%8B%EF%BC%8841%E8%AF%BE%E6%97%B6%EF%BC%89%20-%20%E9%98%BF%E9%87%8C%E4%BA%91%E5%A4%A7%E5%AD%A6.md#c-%E4%BF%AE%E9%A5%B0%E7%AC%A6%
没有合适的资源?快使用搜索试试~ 我知道了~
最新整理, C++ 学习资料,含C++ 11 / 14 / 17 / 20 / 23 新特性、入门教程、推荐书籍、优质文章、学习
共766个文件
cpp:737个
md:26个
cp:1个
5星 · 超过95%的资源 需积分: 0 6 下载量 176 浏览量
2023-08-19
11:20:01
上传
评论 1
收藏 524KB ZIP 举报
温馨提示
C++ 编程语言的历史可以追溯到 1979 年,当时 Bjarne Stroustrup 为博士学位论文进行了一些开发。在 Stroustrup 可以使用的所有语言中,有一种被称为 Simula 的语言,顾名思义,它可能是一种主要为仿真而设计的语言。Simula 67 语言是 Stroustrup 使用的变体,被认为是支持面向对象编程范例的主要语言。Stroustrup 发现这种范例对包装开发很有帮助。但是,Simula 语言对于实践和实际使用而言太慢了。 随后不久,Bjarne Stroustrup 希望通过支持面向对象范例来增强 C。他深入研究了 Smalltalk 的 OO 实现,以获取有关实现的想法。但是他不愿意为此放弃性能,因此他开始从事 “C with Classes (带有类的 C)” 的工作,希望 C++ 代码运行时应具有与 C 代码相似(或更好)的性能。 1983 年,语言的名称从 “带有类的 C” 更改为 C++。C 语言中的 ++ 运算符是用于递增变量的运算符,它使您可以深入了解 Stroustrup 如何看待该语言。在此期间添加了许多新功能,其中最引人注目的是
资源推荐
资源详情
资源评论
收起资源包目录
最新整理, C++ 学习资料,含C++ 11 / 14 / 17 / 20 / 23 新特性、入门教程、推荐书籍、优质文章、学习 (766个子文件)
003_rtti_std_is_trivially_copy_constructible.cp 741B
003_stl_std_array.cpp 8KB
002_grammar_numeric_limits.cpp 4KB
003_stl_emplace.cpp 4KB
002_type_traits_invoke_result.cpp 3KB
004_rtti_compare_std_coroutine_traits.cpp 3KB
004_rtti_compare_compare_strong_order_fallback.cpp 3KB
004_rtti_compare_compare_partial_order_fallback.cpp 3KB
004_rtti_compare_std_coroutine_handle.cpp 3KB
003_rtti_noop_coroutine_promise.cpp 3KB
003_rtti_coroutine_handle.cpp 3KB
003_rtti_noop_coroutine_handle.cpp 3KB
003_rtti_noop_coroutine.cpp 3KB
003_std_thread_std_lock.cpp 3KB
002_grammar_move_semantics.cpp 2KB
002_grammar_nullptr.cpp 2KB
002_grammar_rvalue_reference.cpp 2KB
005_optional_std_hash.cpp 2KB
006_variant_std_hash.cpp 2KB
003_error_std_error_condition.cpp 2KB
011_memory_to_address.cpp 1KB
004_rtti_compare_strong_order.cpp 1KB
003_rtti_suspend_never.cpp 1KB
010_concepts_move_constructible.cpp 1KB
003_rtti_coroutine_traits.cpp 1KB
003_rtti_std_is_move_constructible.cpp 1KB
003_rtti_std_is_nothrow_move_constructible.cpp 1KB
003_rtti_std_is_trivially_move_constructible.cpp 1KB
002_grammar_constexpr.cpp 1KB
002_grammar_user_defined_literals.cpp 1KB
002_grammar_aligned_storage.cpp 1KB
002_grammar_raw_string.cpp 1KB
011_memory_ranges_uninitialized_default_construct.cpp 1KB
003_exception_std_throw_with_nested.cpp 1KB
003_exception_std_nested_exception.cpp 1KB
003_exception_std_rethrow_if_nested.cpp 1KB
002_grammar_POD.cpp 1KB
003_utility_in_place.cpp 1KB
005_optional_optional.cpp 1KB
011_memory_ranges_uninitialized_default_construct_n.cpp 1KB
002_grammar_SFINAE.cpp 1KB
003_rtti_std_is_arithmetic.cpp 1KB
006_utility_cmp_equal.cpp 1KB
006_utility_cmp_not_equal.cpp 1KB
006_utility_cmp_less_equal.cpp 1KB
006_utility_in_range.cpp 1KB
006_utility_cmp_less.cpp 1KB
006_utility_cmp_greater_equal.cpp 1KB
002_grammar_scoped_and_strongly_typed_enums.cpp 1KB
007_any_any_cast.cpp 1KB
003_rtti_std_is_same.cpp 1KB
003_stacktrace_stacktrace_entry.cpp 1KB
003_std_thread_async.cpp 1KB
007_any_make_any.cpp 1KB
002_utility_to_underlying.cpp 1KB
008_memory_uninitialized_default_construct.cpp 1KB
004_rtti_compare_compare_weak_order_fallback.cpp 1KB
006_variant_variant.cpp 1KB
006_variant_variant_size.cpp 1KB
003_std_thread_std_cond_ition_variable.cpp 1KB
001_utility_exchange.cpp 1KB
008_memory_uninitialized_default_construct_n.cpp 1KB
011_memory_ranges_uninitialized_value_construct.cpp 1KB
007_format_formatted_size.cpp 1KB
007_format_format_to.cpp 1KB
002_grammar_lamda.cpp 1KB
004_tuple_apply.cpp 1KB
011_memory_ranges_uninitialized_value_construct_n.cpp 1KB
002_grammar_align.cpp 1KB
011_memory_ranges_uninitialized_move_n.cpp 1024B
003_rtti_std_is_nothrow_move_assignable.cpp 1019B
003_rtti_std_is_trivially_move_assignable.cpp 1019B
003_rtti_std_is_move_assignable.cpp 1019B
003_std_thread_std_call_once.cpp 1016B
011_memory_ranges_uninitialized_move.cpp 1016B
003_stl_std_hash_std_wstring.cpp 1013B
003_stl_std_hash_std_u32string.cpp 1013B
003_stl_std_hash_std_u16string.cpp 1013B
008_memory_uninitialized_move_n.cpp 998B
008_memory_uninitialized_move.cpp 994B
003_std_thread_std_atomic.cpp 970B
002_grammar_for_loop.cpp 962B
021_std_iter_reference_t.cpp 951B
008_memory_uninitialized_value_construct.cpp 951B
008_memory_uninitialized_value_construct_n.cpp 940B
010_concepts_derived_from.cpp 929B
003_rtti_std_is_empty.cpp 928B
003_rtti_std_is_trivially_assignable.cpp 921B
003_rtti_std_is_assignable.cpp 921B
003_rtti_std_is_nothrow_assignable.cpp 921B
003_rtti_std_is_constructible.cpp 903B
003_rtti_std_is_nothrow_constructible.cpp 903B
003_rtti_std_is_trivially_constructible.cpp 903B
010_concepts_constructible_from.cpp 903B
007_any_any.cpp 901B
003_std_atomic_int.cpp 901B
003_stl_std_hash_std_vector_bool.cpp 894B
002_type_traits_is_nothrow_swappable.cpp 872B
002_type_traits_is_nothrow_swappable_with.cpp 872B
011_memory_ranges_uninitialized_copy.cpp 864B
共 766 条
- 1
- 2
- 3
- 4
- 5
- 6
- 8
资源评论
- 机器学习的喵2023-09-22695396109628
- Android安卓科研室2023-09-22非常好的资源,刚好期末大作业可以用到,嗨森免费的,感谢博主
机智的程序员zero
- 粉丝: 1550
- 资源: 4128
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功