主要的增强:
类型检查更为严格
增加了面向对象机制
增加了泛型(模板)
增加了异常处理
增加了运算符重载
增加了标准模板库
1、C++标准库和标准模板库(STL)
STL其实在C++出现之前就有了,是由惠普实验室开发的。主要包括下列头文件
算法部分:
主要提供大约100个实现算法的模板函数。
algorithm 比较,查找,替换,排序,合并,遍历操作,复制,修改
numeric 在序列上提供简单的数学运算
functional 简单的模板类,用于声明函数对象
容器部分:
deque 双队列
vector 向量
list 列表
map 映射,多重映射
queue 队列,优先队列
set 集合,多重集合
stack 栈
迭代器部分 :
memory
iterator
utility
C++标准库一共包含50多个头文件。当我们说C++标准时,就是指C++标准库的标准化。C++标准库包含上述的标准模板库。主要分为10类
语言支持
输入输出
诊断
一般工具
字符串
容器
迭代器支持
算法
数值操作
本地化
2、类型检查的不同
C允许从void*指针隐式转换到其他类型,而C++不行。
指针的值表示指向对象的位置,指针的类型表示指针所指向对象的大小。比如int*操作系统便知道是四个存储单元,而double*操作系统变当成是8个存储单元。
而void*不指示所指向存储空间的大小。任何指针都可以转换为void*,在C++中,反过来需要进行显示转换。