C++PrimerPlus6-01-预备知识

前言

面向对象编程、泛型变成和传统的过程化编程。C++99/C++03 C++11。C++在C语言的基础上新增的特性:

  • 类和对象
  • 继承
  • 多态、虚函数和RTTI(运行阶段类型识别)
  • 函数重载
  • 引用变量
  • 泛型(独立于类型的)编程,由模板和标准模板库(STL)提供的
  • 处理错误条件的异常机制
  • 管理函数、类和变量名的名称空间

章节:

  1. 预备知识
  2. 开始学习C++
  3. 处理数据
  4. 复合类型
  5. 循环和关系表达式
  6. 分支语句和逻辑运算符
  7. 函数——C++的编程模块
  8. 函数探幽
  9. 内存模型和名称空间
  10. 对象和类
  11. 使用类
  12. 类和动态内存分配
  13. 类继承
  14. C++中的代码重用
  15. 友元、异常和其他
  16. string类和标准模板库
  17. 输入、输出和文件
  18. 探讨C++新标准

第1章 预备知识

  • C语言和C++的发展历史和基本原理
  • 过程性编程和面向对象编程
  • C++是如何在C语言的基础上添加面向对象概念的
  • C++是如何在C语言的基础上添加泛型编程概念的
  • 编程语言标准
  • 创建程序的技巧

1.1 C++简介

C++融合了3中不同的编程方式:

  1. C语言代表的过程性语言
  2. C++在C语言基础上添加的类代表的面向对象语言
  3. C++模板支持的泛型编程

1.2 C++简史

计算机技术发展迅速,20世纪80年代,面向对象编程(OOP)

1.2.1 C语言

20世纪70年代,贝尔实验室的Dennis Ritchie开发了C语言,用于在UNIX上的不同硬件平台用同一种高级语言。编译器将高级语言翻译成特定计算机的内部语言。

1.2.2 C语言编程原理

算法和数据,强调编程的算法方面(菜谱)。结构化编程(structured programming):组织良好的结构,自顶向下(top-down)大型程序分解为小型的任务。

1.2.3 面向对象编程

OOP强调的是数据,让语言来满足问题的要求。自下向上(bottom-up)编程,从低级组织(如类)到高级组织(如程序)。复用代码,多态,继承。

1.2.4 C++和泛型编程

泛型编程(generic programming),对语言进行扩展,只编写一个泛型函数,并将其用于各种实际类型。

1.2.5 C++的起源

诞生于20世纪80年代的贝尔实验室Bjarne Stroustrup。C++是C语言的超集,任何有效的C程序都是有效的C++程序。C++在C语言的基础上添加了OOP特性。

1.3 可移植性和标准

可移植性存在两个障碍,一是硬件,二是语言差异。ANSI(American National Standards Institute, 美国国家标准局)和ISO(国际标准化组织),制定C++标准。

  • C++98表示C++98/C++2003
  • C++11表示2011年的新标准

1.4 程序创建的技巧

源代码 -> 编译器 -> 目标代码 -> 链接程序(启动代码+库代码) -> 可执行代码

1.4.1 创建源代码文件

1.4.2 编译和链接

  1. UNIX编译和链接:CC命令。 CC xxx.C
  2. Linux编译和链接:g++。g++ xxx.cxx
  3. Windows命令行编辑器:g++…
  4. Windows编译器:本书创建控制台应用程序Console Application。Compile, Build, Make, Build All, Link, Execute, Run, Debug
  5. Macintosh上的C++:Xcode(编译器g++和clang)

IDE中有些运行后会关闭窗口,为避免可加上:

cin.get(); // add this statement
cin.get(); // and maybe this, too
return 0;

1.5 总结


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 cdd@ahucd.cn

×

喜欢就点赞,疼爱就打赏

B站 cdd的庇护之地 github itch