命名空间
变体
操作

常见问题

来自 cppreference.com

内容

本网站的目的是什么?

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

主要目标是拥有 C 和 C++ 的良好规范。 也就是说,对经验丰富的程序员而言隐含清晰的事物应被省略,或者至少与函数、常量或类的主要描述分开。 在每个页面的“示例”部分中展示各种用例是一个好地方。 每个页面的“注释”部分中更喜欢包含原理、实现说明、特定领域文档。

为什么这里的内容仅限于标准 C 和 C++?

简而言之,我们选择质量而不是数量。 一些Boost 库 也可以作为包含的候选者,尽管它们的教程非常好,但参考文档通常非常僵硬且不方便。

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

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

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

C17 是最新发布的 C 标准,因此它是C 参考 的主要关注点。

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

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

  • C2y
    • 最新的免费工作草案是 n3301 (2024-07-28)。
  • C23
    • 官方 C23 标准处于出版的最后阶段。
    • 草案 N3220 (2024-02-22) 等同于 C23,除了编辑修正。
  • C17
    • 官方 C17 标准可以从 ISO 购买
    • 最终草案标准 C17 FDIS 可免费获得。
  • C11
    • C11 标准已被撤回,并且不再从 ISO 获取,尽管它可能仍然从 ANSI 购买
    • C11 工作草案 N1570 (2011-04-12) 可免费获得,与最终 C11 标准仅略有不同。
  • C99
    • C99 标准已被撤回,并且不再从 ISO 获取,尽管它可能仍然从 ANSI 购买
    • 最终 C99:TC3 工作草案 N1256 (2007-09-07) 可免费获得,与最终 C99 标准(包括所有三个技术勘误)仅略有不同。
  • C95
    • 将 C90 转换为 C95 的 C90 修正案 AMD1 不再从官方来源获取,尽管它可能在一些文档零售商处找到,例如Global Engineering Documents
  • C89/C90
    • C90 标准已被撤回,并且不再从官方来源获取,尽管它可能在一些文档零售商处找到,例如SAI-Global
    • 最终草案(X3J11/90-013(ANSI 编号)或 n119(WG14 编号))不可公开获取,但最终公开审查草案 X3J11/88-090 (1988-05-13) 可获得,与最终 C89 标准仅略有不同。

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

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

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

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

  • C++11
    • C++11 标准已被撤回,并且不再从 ISO 获取
    • 免费的 C++11 工作草案 N3337 可获得。(工作草案与 C++11 标准之间的 N3338 差异很小。)

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

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

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

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

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

你能使网站更容易查看吗?

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

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

我可以用这个网站上的资料做什么?

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

什么?这是一个维基?我可以更改东西吗?

当然可以。如果您看到有错误,请修正它。但是,目前维基只限于标准 C 和 C++,因此您不应添加非标准内容,例如特定编译器的扩展。此外,请使用相应的标准仔细检查任何更改。如果您对任何事项不确定,可以在讨论页面询问。

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

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

此维基使用 MediaWiki,与 维基百科项目 相同的维基系统。您可以使用他们的帮助页面来介绍 MediaWiki 维基代码语法。但是,此维基中的大部分内容都封装在非常复杂的模板中。它们执行大多数格式化操作,并帮助将重复性内容集中到一个位置,因此在需要修改内容时,无需进行数十或数百次相同的修改。有关此维基中使用的模板的帮助,请参阅 Help:Templates

维基旨在保持一致的风格。请参阅 Help:Manual of style 以了解有助于在维基中遵循一致风格和格式的样式指南。

有关一些额外的编辑信息,请参阅 Cppreference:EditingHelp

但是请注意,您无需了解复杂的模板或上述指南即可做出贡献。编写内容本身比应用格式困难得多,因此在写作时请不要关心样式,因为有人会在稍后修复。

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

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

太好了!有一些特殊的页面包含需要修复内容的建议

谁是这个网站背后的团队?

cppreference.com 由来自世界各地的 C++ 爱好者创建和维护。该网站自 2000 年成立以来一直完全由社区支持;目前托管费用部分由广告抵消(请将任何广告问题报告给 [email protected]),捐赠和销售包含可怕双关语的 C++ 相关商品

我如何联系你们?

您可以通过 [email protected] 联系我们。

如果您要报告损坏的链接,您可能更容易在这里报告它 这里