C++库约定

C++ 库遵循约定和标准 C 库相同,并加上概述的一些示。

实现具有特定 latitude 在它在 C++ 库中声明类型和功能:

  • 函数的名称在标准 C 库中可以具有外部 # " C++”或 extern “C”链接。 包含相应的标准 C 头文件而不是声明库实体内联。

  • 在库类的成员函数名可以在中列出的那些的其他函数签名文档。 您可以确保函数调用所述的行为与预期相同,但是,您不能可靠采用库成员函数的地址。 (该类型可能不是预期。)

  • 库类可以具有未记录的 () 其基类。 如从另一个类派生文档的类可以从该类派生,事实上,通过其他未记录的类。

  • 为某些整数类型的同义词定义的类型可能与若干不同的整数类型之一。

  • 位掩码类型中实现为 integer 类型或枚举。 在任一情况下,您可按位运算操作 (例如 AND 和 OR) 在同一个位掩码类型的值。 位掩码类型的元素 A 和 B 是非零值这样 AB 为零。

  • 没有异常规范的函数可能会引发任意异常,因此,除非其定义清晰地限制这样的可能性。

另一方面,有一些限制:

  • 标准 C 库不使用掩码的宏。 某些特定函数签名是保留的函数,而不是名称。

  • 在类外的一个库函数名称不会有不同,未记录,函数签名。 可以可靠获取其地址。

  • ,而与其中的描述确定其,基类和成员函数中所述的相同虚拟确定虚拟的。

  • ,除非文档否则,显式建议 C++ 库定义的两个类型总是不同的。

  • 库提供的功能,包括可替换的功能的默认版本,可能会引发 至多 在所有异常规范列出的那些异常。 库提供的析构函数不引发异常。 功能在标准 C 库中可能会传播异常,那么,当 qsort 调用引发异常的比较函数时,但是,它们不否则将引发异常。

请参见

参考

标准C++库概述

线程安全性对标准C++库中