常见问题
内容 |
本网站的目的是什么?
我们的目标是为程序员提供 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,除了编辑修正。
- 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++26
- 最新的免费工作草案是 n4993 (2024-10-16)。
- 最新的版本可以在 cplusplus/draft 中以源代码形式找到,也可以在 eel.is/c++draft 中以可浏览形式找到。
- 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 可获得。(工作草案与 C++11 标准之间的 N3338 差异很小。)
- C++03
- C++03 标准已被撤回,并且不再从 ISO 获取。
- C++98
- C++98 标准已被撤回,并且不再从 ISO 获取。
为什么标准和 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]
联系我们。
如果您要报告损坏的链接,您可能更容易在这里报告它 这里。