gpt4 book ai didi

c++ - 什么是 "Tony Tables"?

转载 作者:行者123 更新时间:2023-12-03 18:33:57 27 4
gpt4 key购买 nike

以下句子摘自 GitHub page :

C++20 features described in Before/After tables ("Tony Tables")


  • C++ 文化中的 Tony 表是什么?
  • 为什么用它们来表示前/后表?
  • 最佳答案

    托尼表在某种程度上是“刚好”在表之前/之后。展示没有特定功能或特性的代码会是什么样子,并展示具有该特性的代码会是什么样子。
    它们最初在这个 C++ 提案中使用:http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2016/p0032r3.pdf(见附录)以更清楚地说明论文提出的更改。 (在清晰度方面将提案的 R2 版本与 R3 版本进行比较。)
    通过一点刺激和耐心,委员会很明显地发现使用表格可以提高对提案的理解并加快委员会的进程。
    表格的目标不仅仅是显示之前/之后。真正的“托尼表”还应该:

  • 显示动机 :示例代码不应该只显示语法,它应该显示动机代码,真实的代码,清楚地表明该功能值得做
  • 显示所有重要的语法 :该表应该有足够的示例来涵盖该功能的大致所有语法(并非全部 - 它可以跳过任何明显的东西,例如复制构造函数 - 如果在这种情况下很明显 - 但应该涵盖任何内容值得一看)
  • 对齐行 :任何前后相同的行都应该对齐 - 根据需要添加空行。它应该看起来有点像差异。

  • 真正的目标是成为“一站式商店”,而不是传统委员会文件中的众多部分(有关传统文件的组织方式,请参见 http://open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3370.html#Organization)。
    过去,动机部分太罗嗦,技术规范部分太密集。我们仍然需要这些部分,但是大部分论文应该可以从表格中找到(这就是表格从附录移到大多数论文前面的原因)。
    几乎每篇委员会论文的目标都是改变 C++ 代码的编写方式,因此展示实际代码将如何改变可以使过程更加清晰。
    在委员会之外,这些表格已被用来描述新特性(参见 https://github.com/tvaneerd/cpp17_in_TTs 以了解 C++17 而非 C++14,并为 https://github.com/tvaneerd/cpp20_in_TTs 制作 PR,因为 C++20 非常庞大!)。
    没有真正的理由称它们为“托尼 table ”(我认为大卫桑克尔是第一个这样称呼它们的人)。它们是表之前/之后。除了“之前/之后”的狭义定义之外,术语“托尼表”所具有的唯一“附加值”是捕获表预期内容的完整概念。
    附言对于 C++23,它们开始被 Pony Stables 取代。 https://isocpp.org/files/papers/D2349R0.html

    关于c++ - 什么是 "Tony Tables"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61935708/

    27 4 0