上QQ阅读APP看书,第一时间看更新
1.3 关于ANSI/ISO C++标准
C++是具有国际标准的编程语言,通常称作ANSI/ISO C++。1998年是C++标准委员会成立的第一年,以后每5年视实际需要更新一次标准,上一次标准更新是在2009年,目前我们一般称该标准为C++0x。
C++标准分为两部分:核心语言和C++标准程序库。后者包含大部分标准模板库(STL)和C标准程序库的稍加修改版本。但是,同时存在许多不属于标准部分的C++程序库,且使用外部链接,程序库甚至可以用C编写。
C++标准程序库充分吸收了C标准程序库,同时进行了少许的修改,使其与C++能够配合良好地运作。另一个大型的程序库部分是以STL为基础的。STL于1994年2月正式成为ANSI/ISO C++。它提供了实用的工具,如容器(如向量和链表)、迭代器以及算法。迭代器(一般化指标)提供容器以类似数组的存取方式,算法用于进行搜寻和排序的运算。此外,还提供了(multi)map(关联数组)和(multi)set,它们都使用相容的界面。
因此,使用模板编写泛型算法也成为可能,它可以和任何容器或在任何以迭代器定义的序列上运作。如同C,使用#include指令包含标准表头,即可存取程序库里的功能。C++提供69个标准表头,其中19个不再赞成使用。
使用标准库有助于导向更安全和更灵活的软件。
C++标准库的内容分为10类,如表1-2所示。
表1-2 C++标准库的内容分类