目录
一:什么是C++?
C
语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C
语言则不合适。为了解决软件危机,
20
世纪
80
年代, 计算机界提出了
OOP(object
oriented programming
:面向对象
)
思想
,支持面向对象的程序设计语言应运而生。 1982年,
Bjarne Stroustrup
博士在
C
语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。为了表达该语言与C
语言的渊源关系,命名为
C++
。因此:
C++
是基于
C
语言而产生的,它既可以进行
C
语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行面向对象的程
序设计
。
二.C++发展史
1979
年,贝尔实验室的本贾尼等人试图分析
unix
内核的时候,试图将内核模块化,于是
在
C
语言的基础上进
行扩展,增加了类的机制
,完成了一个可以运行的预处理程序,称之为
C with classes
。
语言的发展就像是练功打怪升级一样,也是逐步递进,由浅入深的过程。我们先来看下C++的历史版本。
阶段 | 内容 |
C with classes
|
类及派生类、公有和私有成员、类的构造和析构、友元、内联函数、赋值运算符重载等
|
C++1.0
|
添加虚函数概念,函数和运算符重载,引用、常量等
|
C++2.0
|
更加完善支持面向对象,新增保护成员、多重继承、对象的初始化、抽象类、静态成员以
及
const
成员函数
|
C++3.0
|
进一步完善,引入模板,解决多重继承产生的二义性问题和相应构造和析构的处理
|
C++98
|
C++
标准第一个版本
,绝大多数编译器都支持,得到了国际标准化组织
(ISO)
和美国标准化
协会认可,
以模板方式重写
C++
标准库,引入了
STL(
标准模板库
)
|
C++03
|
C++
标准第二个版本,语言特性无大改变,主要:修订错误、减少多异性
|
C++05
|
C++
标准委员会发布了一份计数报告
(Technical Report
,
TR1)
,正式更名
C++0x
|