”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > C++标准库头文件如何保证包含其他头文件或在不显式包含的情况下提供特定功能?

C++标准库头文件如何保证包含其他头文件或在不显式包含的情况下提供特定功能?

发布于2024-12-23
浏览:199

How do C   standard library headers guarantee the inclusion of other headers or provide specific functions without explicit inclusion?

具有保证包含的 C 标准库中的标头

在大多数情况下,C 标准库标头具有未指定的包含关系。但是,也存在例外情况,即特定标头保证包含其他标头或提供某些功能而不包含其他标头。

保证包含特定标头的标头:

  • 包含初始化程序列表 () by:

    • 实用程序 ()
    • 字符串 ()
    • 数组 ()
    • 出队 ()
    • 转发列表()
    • 列表()
    • 向量 ()
    • 映射 ()
    • 集合 ()
    • 无序映射 ( )
    • 无序集合 ()
    • 队列()
    • 堆栈 ()
    • 算法 ()
    • 随机 ()
    • Valarray ()
    • 正则表达式()
  • 输入/输出流 () 包括:

    • 输入/输出状态()
    • 流缓冲区 ()
    • 输入流()
    • 输出流()
  • 输入/输出状态()包括:

    • 转发声明()
  • 位集 () 包括:

    • 字符串 ()
    • 转发声明()

保证函数可用性的标头:

函数模板 std::begin、std::end、及其变体(cbegin、crend 等)主要在 Iterator 标头 () 中定义。但是,当包含以下任何标头时,它们也可用:

  • Array ()
  • Dequeue ()
  • Forward List ( )
  • 列表 ()
  • 地图()
  • Regex ()
  • Set ()
  • String ()
  • 无序映射 ( )
  • 无序集合 ()
  • 向量()

当包含 std::string_view () 时,函数 *begin、*end 和通用 std::swap 重载变得可用。然而,size、empty 和 data 却不是。

最新教程 更多>

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3