【问题标题】:Are classes truly a current proposal for the next C standard?类真的是下一个 C 标准的当前提案吗?
【发布时间】:2015-02-06 11:05:26
【问题描述】:

我发现帖子上的日期与此页面上文档中的日期不匹配:

http://www.open-std.org/jtc1/sc22/wg14/www/documents

我下载了最新的 tarball,并且正在阅读有关 C 类实现的信息。它是由 Sun 在 95 年编写的。

我的问题是,这些活跃的提案是否正在考虑用于下一个 C 标准,是否有更好的地方来阅读下一个草案?

【问题讨论】:

  • @MarkRansom 我认为进入标准的可能性非常低。它会破坏大量当前标准的安全代码:例如所有 glib/gtk.
  • @Mgetz 这似乎是一个有争议的提案,我很好奇提案的哪些方面会破坏现有代码?能举个例子吗?
  • @ShafikYaghmour github.com/GNOME/gtk/search?l=c&q=class&utf8=%E2%9C%93 class 是突破性变化的大杀手。因为这会破坏使用该标识符以面向对象的 C 语言编写的代码。尽管this 可能有同样多的问题。
  • @Mgetz:它们仍然可以在某些<stdclass.h> 标头中使用#define 调用_Class_This,与boolstatic_assert 一样。
  • @mafso 当然,但这会在 C 和 C++ 之间造成有意的脱节,提案的作者明确表示这不是本意。

标签: c standards iso libc


【解决方案1】:

here 列出的文档在顶部显示了最近的会议。最近的会议在圣路易斯举行,pre-meeting mailingpost-meeting mailing 列在顶部。

在会前文件中,我们发现N1875: Adding classes to C 的作者是2014-09-29,这确实是最近的,看起来这确实是一个活跃的问题。

会后文件中可能令人困惑的地方列出了看起来像是 1995 年的旧提案:

N424 12 Jun 95 Jervis, RP: Classes in C, Part 1
N445 22 Aug 95 Jervis, Classes in C, Part 2: Inheritance
N446 22 Aug 95 Jervis, Classes in C, Part 3: Virtual Functions
N447 22 Aug 95 Jervis, Classes in C, Part 4: Constructors and Destructors  

由于话题再次出现,它们可能已被收录以供参考。

更新

Jens 指出这个提案的讨论可以在draft minutes from the post mailing 找到,结论是:

上面的民意调查表明委员会没有兴趣 以促使提出的提案得到进一步发展。然而,我们 将鼓励提交者开发一个获得 所呈现概念的用户体验,即 gcc 的修改 或叮当声。

因此,在有一个可以证明社区感兴趣的实施之前,基本上没有兴趣追求该提案。

【讨论】:

  • 委员会关于该提案的讨论可以在圣路易斯会议记录中找到:open-std.org/jtc1/sc22/wg14/www/docs/n1884.pdf
  • @JensGustedt 谢谢,我看过那个文件,但不知何故错过了讨论,至少我知道我下次要找什么。
猜你喜欢
  • 1970-01-01
  • 2011-04-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-20
相关资源
最近更新 更多