编程语言的学习不像数学,先有定义后有公理,再有定理与领域,数学我们可以理解为一个倒金字塔,由一点发散出整个理论体系。编程像一个梯形,基础部分有茫茫多的概念,上层较宽发散开来。这就导致我们很难用循序渐进的固定思路去了解programming language
为了说明问题,我们常常采用一些代码的比较与示例,至于这些代码是什么意思,我们无法递归定义,这是编程技术的特点,需要我们先拥有一些基础理解(也是工程学科的共性)
1.Modern C++
C++发明于上世纪80年代,作为一门通用语言,在设备驱动、操作系统、信息管理系统甚至游戏程序都可以见到C++的使用。书中强调了C++的性能优势,指出比其他语言要快的特点。C++11标志着C++的现代化
诸如lambda表达式、auto类型推导、range-for等等的新特性使得C++越来越跟进时代。容器、智能指针、RAII等技术替代了传统的编程方式,同时不丢掉安全的特点。C++20在C++14、C++17小缝小补的基础上又成为里程碑式的版本。C++20新特性主要包括modules、ranges、concepts
2.Standard Libraries
20章会简要介绍STL中的内容,但建议还是另找资源对STL进行学习
3.C++ Program Concepts
使用VS2022选用C