C++程序设计语言(一)——概览

C++程序设计语言(一)——概览

C++是一种被广泛使用的计算机程序设计语言。它是一种通用程序设计语言,支持多重编程模式,例如过程化程序设计、数据抽象、面向对象程序设计、泛型程序设计和设计模式等。——引自维基百科

C++的编程范式(Programming Paradigm)

结构化编程(Structural Programming)

它采用子程序、代码区块、for循环以及while循环等结构,来取代传统的 goto从而改善计算机程序的明晰性、质量以及开发时间,并且避免写出面条式代码。

Object-Oriented Programming(OOP,面向对象编程)

在面向对象编程中,每个对象想要访问其他对象的数据都需要通过接口,它是程序更加容易开发和维护。

Generic Programming(GP,泛型编程)

它通过模板定义一种通用的类型,让编译器自动处理数据类型,节省了程序员的工作。

Functional Programming(FP,函数式编程)

在2011年后C++引入了lambda表达式。它的结果不会受到外部状态改变的影响,不论在任何时候结果都唯一。此外他也可以接受函数作为输入或输出。

函数副作用

函数副作用是指当调用函数时,除了返回函数值之外,还对主调用函数产生附加的影响。副作用的函数不仅仅只是返回了一个值,而且还做了其他的事情,比如:

  1. 修改了一个变量
  2. 直接修改数据结构
  3. 设置一个对象的成员
  4. 抛出一个异常或以一个错误终止
  5. 打印到终端或读取用户输入
  6. 读取或写入一个文件
  7. 在屏幕上画图

函数副作用会给程序设计带来不必要的麻烦,给程序带来十分难以查找的错误,并且降低程序的可读性,严格的函数式语言要求函数必须无副作用。

纯函数

输入输出数据流全是显式(Explicit)的。

显式的意思是,函数与外界交换数据只有一个唯一渠道——参数和返回值;函数从函数外部接受的所有输入信息都通过参数传递到该函数内部;函数输出到函数外部的所有信息都通过返回值传递到该函数外部。

非纯函数

函数通过参数和返回值以外的渠道,和外界进行数据交换(隐式(Implicit)的方式)。

比如:读取全局变量、修改全局变量、利用 I/O API(输入输出系统函数库)读取配置文件、输出到文件、打印到屏幕。

语言演化和标准

C++由C语言进化而来,参考了SMALL TALK语言,影响了Java语言和C#语言。C++11参考了python语言。

C++程序设计语言(一)——概览

开发工具

Visual Studio集成开发环境

对于Visual Studio的安装已经有很多介绍了。(传送门:https://blog.****.net/qq_36556893/article/details/88603729)

这里推荐几个插件:

Viasfora

该扩展可以使程序中的成对匹配的大中小括号以不同的颜色显示,便于我们将括号的左右半边匹配。

Word Highlight With Margin

当你用鼠标选中某个单词/标识符后,该扩展可以将所有的单词/标识符同时加亮显示。