第一章 预备知识
c++三个特性:继承于c语言;面向对象;模板特性。
1.1 c++简介
c++融合了3种编程传统:c语言代表的过程性语言传统、c++在c语言基础上添加的类代表的面向对象的语言传统以及c++模板支持的通用编程传统。
1.2 c++简史
“在20世纪70年代-----占统治地位的编程语言”这段话费解。
c=低级语言的效率、硬件访问能力+高级语言的通用性、可移植性。
程序=数据(程序使用和处理的信息)+算法(程序使用的方法)。
c语言编程原理:结构化编程将分支限制为一小组行为良好的结构(for循环、while循环、if else语句);用程序单元(函数)来表示各个任务模块。
面向对象编程:OOP不像过程性编程那样,试图使问题满足语言的过程性方法,而是让语言来满足问题的要求。其理念是设计与问题的本性相应的数据格式。
c++中,类是一种规范,对象是根据这种规范构造的特定数据结构。通常,类规定了可使用哪些数据来表示对象以及可以对这些数据执行哪些操作(数据+方法)。OOP程序设计方法首先设计类。
c++的二重性:OOP提供了高级抽象,C提供了低级硬件访问。
c++标准:2009年制定的标准是C++ 0X,只有Visual C++ 2010 CTP开发环境的编译器完全符合这个标准。
1.4 程序创建的技巧
链接=目标代码+用到的库函数的目标代码+标准的启动代码,生成程序的运行阶段版本。
有cfront(C前端)翻译器的话,可以看到c++程序翻译为c程序的过程,以了解某些c++特性是如何被实现的。
unix下编译和链接:可能需要显式地指定一些库,例如访问数学库中定义的函数,需加上-lm标记。
编译选项中:compile、build、buildall的区别。