返回介绍

致谢

发布于 2024-08-19 12:44:36 字数 1192 浏览 0 评论 0 收藏 0

我痛苦地意识到

  • 这篇论文太长了。
  • 对大多数技术主题的描述都省略了很多可以看作是根本的内容。很多情况下,许多人经年累月的工作会被简化为一页甚至一句话。特别是,我忽略了并发性这个极其重要的话题;它应该有一篇专门的长篇论文来进行详述。

感谢让 C++ 成功的数以百万计的程序员,他们创建的应用是我们这个世界的关键部件。

感谢本文草稿的审稿人,包括 Al Aho、A. Bratterud、Shigeru Chiba、J. Daniel Garcia、Brent Hailpern、Howard Hinnant、Roger Orr、Aaron Satlow、Yannis Smaragdakis、David Vandevoorde、J.C. Van Winkel 和 Michael Wong。本文的完整性和准确性在很大程度上依靠这些审稿人。当然,错误归我自己。

感谢 Guy Steele 帮我顺利解决了 LaTex 和 BibTex 中的谜团,把文章引用做到满足 ACM 要求的形式。

感谢所有在标准上努力工作的人。还有很多我没有提到的名字,可以在 WG21 论文的作者和这些论文的致谢部分中找到。我参考和引用的许多PN编号的论文保存在 open-std.org/jtc1/sc22/wg21/docs/papers/。没有这些论文,本文的一些内容就会过度依赖我的记忆了。

  1. 译注:Heap Allocation eLision Optimization ↩︎ ↩︎ ↩︎

  2. 译注:下面的代码引自 2006 年的论文,但 operator= 的实现不符合现代惯用法:一般要么把参数设为 clone_ptr p,这就成了一个可以同时适配拷贝或移动的通用赋值函数;要么在函数体内进行一次移动构造,先 clone_ptr temp(std::move(p));std::swap(ptr, temp.ptr);。否则,当传递的实参是 std::move 的结果(xvalue)而不是真正的临时对象(prvalue)时,代码的行为会不符合预期。当然,就如下面 Bjarne 讨论到的,在 2006 年应该还没有 xvalue 和 prvalue 的概念。 ↩︎

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文