现代C++(Modern C++)基本用法实践:零、概述&测试项目

序言

习惯上,我们把C++11之前的C++语法特性称之为“传统C++”,而把c++11之后的语法特性称之为现代C++。有一种说法称C++为中级语言,因为它的特性介于低级语言(如各类汇编语言)和高级语言(Python、C#)之间--一般来说,它在运行效率上比高级语言要高,而在开发效率上又比高级语言低一些。

随着C++的发展,它也逐渐在优化一些开发效率上的问题,提升C++开发者的工作效率,也拓展了一些实用的特性。

概述

这一系列的文章,参考 cpp reference(提供比较权威的C++特性文档),并结合实践,例举现代C++的一些主要的、常用的特性,其他特性或者细节,读者请自行搜索cpp reference或者其他参考资料。

下面是我列举的比较实用的特性:

  • 自动推导 | auto decltype
  • lambda 表达式
  • 移动(move)语义 | 右值(rvalue
  • 模板 | 变长参数模板 | 完美转发
  • 智能指针
  • 编译时程序 constexpr
  • 范围遍历
  • 线程支持

测试项目说明

测试项目Github仓库
参考文件ModernCppTest/ModernCppTestMain.Cpp,例举了各个特性相关的测试代码和注解。

目录

现代C++(Modern C++)基本用法实践:一、类型推导
现代C++(Modern C++)基本用法实践:二、Lambda表达式
现代C++(Modern C++)基本用法实践:三、移动语义
现代C++(Modern C++)基本用法实践:四、模板
现代C++(Modern C++)基本用法实践:五、智能指针
现代C++(Modern C++)基本用法实践:六、constexpr编译时计算
现代C++(Modern C++)基本用法实践:七、范围遍历
现代C++(Modern C++)基本用法实践:八、线程支持
现代C++(Modern C++)基本用法实践:N、其他零散的常用特性

posted @ 2023-07-13 12:54  寡人正在Coding  阅读(343)  评论(0编辑  收藏  举报