文章目录

  • C++程序设计语言(一)——概览
    • C++的编程范式(Programming Paradigm)
      • 结构化编程(Structural Programming)
      • Object-Oriented Programming(OOP,面向对象编程)
      • Generic Programming(GP,泛型编程)
      • Functional Programming(FP,函数式编程)
        • 函数副作用
          • 纯函数
          • 非纯函数
    • 语言演化和标准
    • 开发工具
      • Visual Studio集成开发环境
        • Viasfora
        • Word Highlight With Margin
      • CLion集成开发环境

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语言。

开发工具

Visual Studio集成开发环境

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

这里推荐几个插件:

Viasfora

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

Word Highlight With Margin

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

CLion集成开发环境

JetBrains家的CLion开发环境具有容易上手相比之下较为轻量级等优点。近年来也广受好评。

C++程序设计语言(一)——概览相关推荐

  1. c++学习书籍推荐《C++程序设计语言(特别版)》下载

    百度云及其他网盘下载地址:点我 编辑推荐 <C++程序设计语言(特别版•十周年中文纪念版)>编辑推荐:十周年纪念版,体味C++语言的精妙与魅力,享受与大师的心灵对话.1979年,Biarn ...

  2. c 程序设计语言标准库,C++程序设计语言(第4部分:标准库)(原书第4版) 中文pdf扫描版[86MB]...

    C++语言之父的经典名著之最新版本,全面掌握标准C++11及其编程技术的权威指南! 第1版1985年,第2版1991年,第3版1997年,特别版2000年,第4版2013年,经典无限延伸-- C++程 ...

  3. 第1章 JVM语言家族概览 《Kotin 编程思想·实战》

    第1章 JVM语言家族概览 天地和而万物生,阴阳接而变化起.<荀子·礼记> 1.1 编程语言简述 1.1.1 编程语言是什么 所谓编程语言只是一个抽象的规范,而编译器是这个规范的实现,它是 ...

  4. 201803考试批次2C 程序设计语言,201803考试批次2可视化程序设计(VB)D卷

    201803考试批次2可视化程序设计(VB)D卷 2018-12-15 903 201803考试批次2可视化程序设计(VB)D卷 可视化程序设计(VB) 一 .单项选择题 (共 10 题.0 / 20 ...

  5. 计算机浙大网java网站,网络课程—非计算机专业JAVA程序设计语言

    <非计算机专业JAVA程序设计语言> 一.主要目标和主要内容: 该课程面向全校非计算机专业理工类本科生,是程序设计语言类必修的公共基础课之一.该课程的前导课程是<大学计算机基础> ...

  6. 各代程序设计语言拓扑

    Wegner根据语言的功能和产生的时间,将一些流行的高级语言进行了分类. 第一代 (1954-1958) Fortran I Algol 58 Flowmatic IPL V 第二代 (1959-19 ...

  7. C 家族程序设计语言发展史

    目录 文章目录 目录 程序设计语言发展史 程序设计语言发展史 1950 年代末期,大量新的计算机编程语言涌现,而这些新语言大都围绕单个体系结构,如 UNIVAC 计算机.IBM700 系列计算机等进行 ...

  8. Ada 程序设计语言(The Ada Programming Language)[第二集]

    Ada 程序设计语言(The Ada Programming Language)[第二集]- -   2.5.2 通用离散类型属性 离散类型包括整型和枚举型,除了上述的属性外,还有: S'Pos   ...

  9. 计算机与程序设计语言教案,计算机程序设计(c语言)教案

    计算机程序设计(c语言)教案 (4页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 14.90 积分 计算机程序设计(C语言)教案课程名称计算机程序设计总学 ...

最新文章

  1. 每天学一点儿shell:xargs 命令
  2. aes key长度_Go 语言 map 解析之 key 的定位核心流程
  3. 如何在TypeScript代码里获得HTML元素的css属性
  4. 设计灵感|独具中国韵味的海报设计
  5. UI设计灵感|精美的登录页让你对这些网站好感倍生!
  6. Hyper-V故障转移群集搭建(1)
  7. 将list集合中按照某个字段排序(从大到小),然后将list中的对象倒序
  8. 个人专著推荐2:Linux安全技术内幕
  9. java int 32位_JAVA基本数据类型所占字节数是多少?(32位系统)
  10. 听说现在流行搬电脑回家?云桌面救星来了
  11. 联想y7000电脑未正确启动_联想y7000wifi突然不能用了是怎么回事
  12. win7设置电脑保护眼睛颜色(终极方法,提供两种颜色选择)
  13. GPS同步时钟(NTP时间服务器)网口物理隔离的好处
  14. unity3D灯光烘焙(二)
  15. 城市大脑与超级智能城市建设规范研究
  16. 闻酥园与宫廷糕点的桃酥对比
  17. word交叉引用的理解
  18. 一份完整的运营方案应包含的七个方面
  19. 高防IP是什么,怎么防攻击
  20. 单纯形法表格法例题详解_Linear programing–simplex method(单纯形法) 解题步骤

热门文章

  1. 渗透测试基础- - -web日志分析
  2. MYIE2拖拽搜索中文关键词google乱码的解决方法
  3. 给2016末尾的阳光一次含蓄问暖
  4. Inventor 2014 API 新功能 (9) Autodesk材质库(下)
  5. 简单说SEO 网站运营的本质
  6. 卡卡上网安全助手之系统修复 怎么用
  7. Petalinux下SATA接口设计
  8. 中国人工智能的未来到底通向何方?| CCF-GAIR 2019
  9. PCR606-ASEMI代理长电原厂单向可控硅PCR606
  10. [NOIP2013模拟]水叮当的舞步(暴力,IDA*)