命名空间
变体
操作

常见问题解答

来自 cppreference.cn

目录

本站点的目的是什么?

我们的目标是为程序员提供 C 和 C++ 语言以及标准库的完整在线参考,即 C 和 C++ 标准的更方便版本。

首要目标是对 C 和 C++ 有良好的规范。也就是说,对于经验丰富的程序员来说显而易见的事情应该省略,或者至少与函数、常量或类的主要描述分开。演示各种用例的好地方是每个页面的“示例”部分。原理、实现说明、特定领域的文档最好包含在每个页面的“注释”部分。

为什么这里的材料仅限于标准 C 和 C++?

简而言之,我们选择了质量而不是数量。一些 Boost 库 也可能是包含的候选对象。虽然他们的教程非常好,但参考文档通常非常不灵活且不方便。

在哪里可以找到更多信息?

查看以下链接集合 [1] [2],获取替代链接和超出本站点范围的材料。

本参考遵循哪个版本的 C 标准?

C23 是最新发布的 C 标准(C2y 正在路上),因此它是 C 参考 的主要焦点。

然而,为了提供更完整的参考,我们还包括描述以前版本标准(C89、C95、C99、C11、C17)、未来版本标准草案以及 技术规范的文档。所有版本特定的文档都应适当标记。

各种 C 标准修订版本可以在以下位置找到

  • C2y
    • 最新的免费工作草案是 n3467 (2025-02-09)。
  • C23
    • 官方 C23 标准可以从 ISO 购买
    • 草案 N3220 (2024-02-22) 除了编辑修正外,等同于 C23。
  • C11
    • C11 标准已撤回,不再可从 ISO 获得,但仍可以从 ANSI 购买
    • C11 工作草案 N1570 (2011-04-12) 可免费获得,并且与最终 C11 标准只有极小的差异。
  • C99
    • C99 标准已撤回,不再可从 ISO 获得,但仍可以从 ANSI 购买
    • 最终 C99:TC3 工作草案 N1256 (2007-09-07) 可免费获得,并且与最终 C99 标准(包括所有三个技术勘误)只有极小的差异。
  • C89/C90
    • C90 标准已撤回,不再可从 ISO 获得,但仍可以从 Intertek Inform 购买
    • 最终草案(X3J11/90-013(ANSI 编号)或 n119(WG14 编号))不可公开获得,但最终公开审查草案 X3J11/88-090 (1988-05-13) 可获得,并且与最终 C89 标准只有极小的差异。

本参考遵循哪个版本的 C++ 标准?

C++23 是最新发布的 C++ 标准(C++26 正在路上),因此它是本站点的主要焦点。

然而,为了提供更完整的参考,我们还包括描述以前版本标准(C++98、C++03、C++11、C++14、C++17、C++20 和 C++23)以及未来版本标准(C++26 和 技术规范)的草案文档。所有版本特定的文档都应适当标记。

各种 C++ 标准本身可以在以下位置找到

  • C++23
    • 官方 C++23 标准可以直接从 ISO 购买
    • C++23 的最终草案是 N4950 (2023-05-10)。
  • C++20
    • C++20 标准已撤回,不再可从 ISO 获得。但仍可以从 ANSI 等成员组织购买。
    • C++20 的最终草案是 N4860 (2020-03-31)。
    • 后 C++20 工作草案 N4868 (2020-10-18) 可用,其中仅包含自 C++20 以来的 N4867 编辑修正。
  • C++17
    • C++17 标准已撤回,不再可从 ISO 获得。但仍可以从 ANSI 等成员组织购买。
    • C++17 的最终草案是 N4659 (2017-03-21)。
  • C++14
    • C++14 标准已撤回,不再可从 ISO 获得。但仍可以通过 ANSI 和其他成员组织购买
    • 免费的 C++14 最终草案 (n4140) 可用,以及它与标准 (n4141) 之间的 差异,后者主要由错别字修复和版本号更改组成。
  • C++11
    • C++11 标准已撤回,不再可从 ISO 获得
    • 免费的 C++11 工作草案 N3337 可用。(工作草案 N3338 和 C++11 标准之间的差异很小。)
  • C++03
    • C++03 标准已撤回,不再可从 ISO 获得
  • C++98
    • C++98 标准已撤回,不再可从 ISO 获得

为什么标准和 cppreference 之间存在差异?

Cppreference 由程序员维护并旨在对程序员有用,而不是对 ISO 历史学家有用。作为程序员,我们关心当我们使用 -std=c++20 或任何编译器等效标志时会得到什么。因此,我们的文档是针对每个 C 和 C++ 标准修订版以及适用于该修订版的所有后续错误修复和澄清的假设的完整且正确的实现。在可用时,我们使用标准委员会的指导和当前的实现作为此类假设实现的证据。

你们是否有适合离线浏览的本站点版本?

当然,你可以在这里获取一个。

一些应用程序还提供本站点内容的离线查看。例如基于 docset 的应用程序:Mac 和 iOS 的 DashWindows 的 VelocityLinux 的 ZealAndroid 的 LovelyDocs

你们能让站点更容易浏览吗?

你可能会发现深色主题比默认的明亮主题更易于阅读。或者你可以尝试浏览器扩展程序,例如 DarkReader

前面提到的离线 docset 应用程序也提供深色模式和其他选项,但不会实时更新。

我可以使用本站点上的资料做什么?

本站点的内容根据 Creative Commons Attribution-Sharealike 3.0 Unported License (CC-BY-SA) 和 GNU Free Documentation License (GFDL)(未版本化,没有不变章节、封面文本或封底文本)授权。这意味着你可以以几乎任何你喜欢的方式使用本站点,包括镜像、复制、翻译等。我们只要求提供返回 cppreference.cn 的链接,以便人们知道在哪里获取最新内容。此外,任何修改后的内容都应根据等效许可证发布,以便每个人都可以从修改后的版本中受益。

什么?这是一个 wiki?我可以更改内容吗?

当然可以。如果你看到任何错误,请修复它。但是,目前 wiki 仅限于标准 C 和 C++,因此你不应添加非标准内容,例如编译器特定的扩展。此外,请使用适当的标准仔细检查任何更改。如果你对任何事情不确定,可以在讨论页面中提出。

请注意,由于最近的破坏行为,大多数页面的编辑仅限于已确认用户。如果你没有已确认的帐户,你可以改为在 Talk:Main_Page/suggestions 上建议更改,或联系管理员。

如何编辑?语法规则是什么?

本 wiki 使用 MediaWiki,与 Wikipedia 项目 相同的 wiki 系统。你可以使用他们的帮助页面来了解 MediaWiki wikicode 语法。但是,本 wiki 中的大多数内容都包裹在相当复杂的模板中。它们完成了大部分格式化工作,并帮助将重复的内容聚合在一个地方,因此当需要修改某些内容时,无需进行数十次或数百次相同的修改。有关本 wiki 中使用的模板的帮助,请参阅 Help:Templates

本 wiki 旨在具有一致的风格。请参阅 Help:Manual_of_style,获取有助于在本 wiki 中遵循一致的风格和格式的风格指南。

有关一些其他编辑信息,请参阅 Cppreference:EditingHelp

但是请注意,你无需了解复杂的模板或上述指南即可做出贡献。编写内容本身比应用格式更难,因此在编写时不必在意风格,因为稍后会有人修复它。

一些高流量模板被锁定,以防止破坏或出于性能原因。在这些情况下,你应该在讨论页面中请求修改。

我想帮忙。我应该从哪里开始?

太好了!有几个特殊页面包含需要修复事项的建议

谁在运营本站点?

cppreference.cn 由来自世界各地的一群 C++ 爱好者创建和维护。自 2000 年成立以来,该站点完全由社区支持;目前,托管成本部分由广告(请将任何广告问题报告给 comments@cppreference.cn)、捐款和销售充满双关语的 C++ 相关商品来抵消。

如何联系你们?

你可以通过 comments@cppreference.cn 联系我们。

如果你要报告链接失效,那么在这里报告可能会更容易。