Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何要求少量添加?(纯虚函数的语法)_C++_Standards_C++11 - Fatal编程技术网

C++ 如何要求少量添加?(纯虚函数的语法)

C++ 如何要求少量添加?(纯虚函数的语法),c++,standards,c++11,C++,Standards,C++11,在《我注意到》中,他们引入了一些新的显式关键字来突出显示预期的行为(很棒的举动!) 示例:函数(=default and=delete)、新常量、也可用于转换运算符的关键字 所以我希望看到纯虚函数的a=pure语法 取而代之的是丑陋(当然是IMHO)=0的东西仍然存在 好的,我可以使用#define pure 0(有时我会这样做),但我认为一致性/一致性绝对应该是标准的目标。此外,我知道这只是一种超迂腐的请求,但= 0确实是我最不喜欢的一部分C++(委婉语)…< 我的问题是: 我知道,新标准的

在《我注意到》中,他们引入了一些新的显式关键字来突出显示预期的行为(很棒的举动!)

示例:函数(=default and=delete)、新常量、也可用于转换运算符的关键字

所以我希望看到纯虚函数的a=pure语法

取而代之的是丑陋(当然是IMHO)=0的东西仍然存在

好的,我可以使用#define pure 0(有时我会这样做),但我认为一致性/一致性绝对应该是标准的目标。此外,我知道这只是一种超迂腐的请求,但= 0确实是我最不喜欢的一部分C++(委婉语)…< 我的问题是:

  • 我知道,新标准的功能是完整的,但它仍然可以要求这个小学究的补充,即使只是作为一个“必需的宏”的事情
  • 如果答案是肯定的,如何回答?(附近有委员吗?)
  • 我问这个问题是不是有点太迂腐了?您对纯虚函数的当前语法有何看法

首先,开始阅读
comp.std.c++
新闻组。这是公众讨论的地方

第二,我要说的是,只有勘误表将应用于当前的C++0x草案,委员会确实处于最后阶段

如果你非常热心,那么在新闻组中提出你的建议,并提供一个很好的理由。希望它被击落。实质上更有用的提案(如模块)尚未提出


附录:如果你希望这样的事情进展顺利,你需要加入委员会,或者在委员会中找人来推动你的提案。

太晚了。请求的呼吁在几年前就结束了


(曾经有一个页面保存了提交的内容,但我再也找不到该列表了。)

这不是一个学究式的小变化。引入一个新关键字是您可以要求的最大变化之一。这是他们不惜一切代价试图避免的事情。想想所有使用“pure”这个词的代码,它会被破坏

一般来说,他们的指导方针是只在语言中添加以前无法完成的内容。
pure
关键字不会启用任何新的内容(与nullptr关键字不同,nullptr关键字可以实现更好的类型检查,例如),因此它的优先级应该非常低。请记住,他们所做的一切基本上都是维护工作。#1的目标是避免破坏语言(或使用它的现有代码)。添加的任何功能只有在不破坏向后兼容性的情况下才能添加

然而,委员会或多或少是一个开放的论坛。浏览他们的电子邮件地址,你应该能够找到一些电子邮件地址。或者使用
comp.std.c++
新闻组

我相信他们的会议也是开放的,所以你可以在下一次会议上把门撞开 0;< /C>”??? 你用过这种语言吗?还有很多其他事情你可以把你的仇恨花在上面


<>代码> <代码>我用C++已经10多年了。对我来说,每当我需要做一些繁重的计算时,它仍然是我的首选语言。

除了作者关于添加关键字的缺点的评论(我100%同意)之外,你还应该注意,这个短语在计算机科学中已经有了意义。这意味着给定相同的参数,函数总是返回相同的值,并且没有副作用。因此,选择
=pure
来指示必须重写的虚拟函数将是一个糟糕的语法选择

谢谢你的提问。我知道我的“建议”很小,迂腐,次要。。。但我不是要月亮。也许我错了,但连贯性和一致性比我要求的“加法”更重要。你要求的是月亮。正如Jalf所指出的,您要求的是一个新的关键字,它不会添加任何新的表达能力。顺便说一句,理查德的答案完全正确。我以前在标准讨论中被击倒过。这不是致命的。我完全同意你们(所有人)的观点:“表现力没有变化”=>“为什么要改变,可能会破坏现有的东西?”。你可以把我的“建议”看作是纯粹的(LOL)美学。我只想避免这样:…=删除;…=默认值;…=0; 如果我的“提议”读作“你要的是月亮”,我谦恭地退了(真的很抱歉——不是开玩笑)。谢谢!:)好的,我稍后再试。。。谢谢。别觉得太糟糕——原来是别人建议的。我的建议是:弃用int、short等,并替换为int8、int16等,还弃用char和新类型的glyph,这将是一个表示unicode字符的模板类。我相信C99类型(如int16_t)已被纳入标准,但作为typedef,您可以通过包含头文件获得。委员会极不愿意引入新的关键字,但可选的typedef不太可能给任何人带来不便。是的,但我对64位类型的“long-long”极为平淡感到恼火。当我们达到128位时会发生什么?”长?通过在类型本身中定义数据类型的大小,您不会得到我们现在使用的愚蠢的类型a'>=类型b',很明显您正在使用的是什么,这使得移植代码更容易。我自己不是专家,但我认为=pure,在这种情况下使用,不应该破坏任何东西。不管怎样,关于“纯新关键词”的问题,我认为你是对的:我根本没有考虑这个问题…谢谢,谢谢你的回答。有趣的是,默认和删除都是C++关键字,但在不同的上下文中。他们引入了“null_ptr”作为一个新的关键字。如果他们把它命名为“undefined”,那么按照Gian的建议,用它来定义纯虚函数是合乎逻辑的。。。还是我在做梦?:)我想是的。但是那样的话