命名空间
变体
操作

常见问题

来自 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 等效,除了编辑性修正。
  • C99
    • C99 标准已撤销,ISO 不再提供,但仍可从 ANSI 购买
    • 最终的 C99:TC3 工作草案 N1256 (2007-09-07) 可免费获取,与最终的 C99 标准(包括所有三个技术勘误)仅有细微差别。

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

C++23 是最新发布的 C++ 标准(C++26 正在开发中),因此它是本网站的主要重点。

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

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

  • 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)。

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

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

你们是否有适合离线查看的网站版本?

当然,你可以在此处获取一个。

一些应用程序还提供本网站内容的离线查看。例如,基于 docset 的应用程序有:适用于 Mac 和 iOS 的 Dash,适用于 Windows 的 Velocity,适用于 Linux 的 Zeal,以及适用于 Android 的 LovelyDocs

能否让网站更易于查看?

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

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

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

本网站内容根据知识共享署名-相同方式共享 3.0 未移植许可协议 (CC-BY-SA) 和 GNU 自由文档许可证 (GFDL)(无版本,无不变章节、封面文字或封底文字)获得许可。这意味着您可以以您喜欢的几乎任何方式使用本网站,包括镜像、复制、翻译等。我们唯一的要求是提供指向 `cppreference.cn` 的链接,以便人们知道在哪里获取最新内容。除此之外,任何修改后的内容都应以同等许可协议发布,以便所有人都能从修改后的版本中受益。

什么?这是一个 Wiki?我可以修改内容吗?

当然可以。如果你发现有错误的地方,请修改它。然而,目前 Wiki 仅限于标准 C 和 C++,因此你不应添加非标准内容,例如编译器特定的扩展。另外,请务必根据相应的标准仔细检查任何更改。如果你对任何事情不确定,可以在讨论页面中提出。

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

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

本 Wiki 使用 MediaWiki,与 维基百科项目 使用的 Wiki 系统相同。你可以使用他们的帮助页面来学习 MediaWiki 的 Wiki 代码语法。然而,本 Wiki 中的大部分内容都包含在相当复杂的模板中。它们负责大部分格式化工作,并有助于将重复内容聚合到一个地方,因此当需要修改某些内容时,无需重复修改数十次或数百次。有关本 Wiki 中使用的模板的帮助,请参阅 Help:Templates

本 Wiki 旨在保持一致的风格。请参阅Help:Manual of style,以获取有助于在 Wiki 中遵循一致风格和格式的样式指南。

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

但是请注意,您不需要了解复杂的模板或上述准则即可做出贡献。编写内容本身比应用格式要困难得多,所以编写时不必担心样式,因为稍后会有人进行修复。

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

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

太棒了!有几个特殊页面包含了需要修复的建议:

本网站的幕后是谁?

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

我该如何联系你们?

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

如果您要报告断开的链接,在此处报告可能更容易:此处