c++标准库知识梳理

     这里不打算展开对 c++标准库 做全面解释。 主要是对编程时,与标准库相关的知识做一梳理。如果您想深入了解标准库方面的内容,可以绕行。

    c++标准库包含了大量常用的实体和函数,扩展了c++的基本语言功能,是c++的一部分,每个符合标准的编译器都提供完整的标准库

    c++标准库的包括主要方面

      标准库的范围是很特殊的,既包括基本的语言支持、输入输出函数和异常处理,也包括使用函数,数学例程等。其内容主要分为10类

     (1) 语言支持(2)输入/输出(3)诊断(4)一般工具(5)字符串(6)容器(7)迭代器支持(8)算法(9)数值操作(10)本地化

    c++标准库的引用方式

     c++调用标准库头文件的方式 是 #include <iostream>。如果是#include iostream.h 则是调用的C标准中的头文件。为了对比学习,这里也罗列出调用自定义头文件方式,其方式为 #include "*.h"。  在c++标准库中,有一些文件名以c开头,如<cname>形式的标准头文件。它与C包含的name.h头文件相同。这些文件,除了与宏相关的文件在全局作用域定义,其他的函数都在std命名空间定义。

    c++标准库与c标准库关系

C++ 标准库除了定义了一些选定于 C++ 的设施外,还包括 C 标准库。C++ 中的头文件 cctype 其实就是利用了 C 标准库函数,这些库函数就定义在 C 标准库的 ctype.h 头文件中。c++标准库所有头文件都没有扩展名(扩展名的作用,调用注册表中注册的默认程序,从而达到解码的实现),即没有后缀 .h。,C++ 程序中应采用 cname 这种头文件的版本,而不采用 name.h 版本,这样,标准库中的名字在命名空间 std 中保持一致。

新旧代码的兼容

许多 C++ 程序在有标准类之前就已经存在了,许多 C++ 程序为了兼容现存的 C 程序,也不能使用 C++ 标准库。因此,现代的 C++ 程序经常必须兼容使用数组和/或 C
风格字符串的代码,标准库提供了使兼容界面更容易管理的手段。

    c++标准库与名称空间

命名空间是c++中为了防止命名冲突引入的机制,在同一个命名空间的函数命名都不同,而在不同的命名空间,函数命名可以相同。标准库几乎所有内容都是在std中定义的(前面说的预编译变量除外), 在使用标准库中名称时,前面必须加std:: ,或者在文件的开头,使用using std::cout.

    c++标准库类型

除了这些在语言中定义的类型外,C++ 标准库还定义了许多更高级的抽象数据类型。之所以说这些标准库类型是更高级的,是因为其中反映了更复杂的概念;之所以说它们是抽象的,是因为我们在使用时不需要关心它们是如何表示的,只需知道这些抽象数据类型支持哪些操作就可以了。C++ 定义的抽象数据类型标准库,其中最重要的标准库类型是 string 和 vector,它们分别定义了大小可变的字符串和集合。另一种标准库类型 bitset,提供了一种抽象方法来操作位的集合



你可能感兴趣的:(c++标准库知识梳理)