C ++ 03是C ++标准的新版本还是仅仅是C ++ 98的技术勘误(TC)? [英] Is C++03 a new version of the C++ Standard or just a Technical Corrigendum (TC) of C++98?

查看:188
本文介绍了C ++ 03是C ++标准的新版本还是仅仅是C ++ 98的技术勘误(TC)?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我很确定我在某个地方(我相信它是在WG21页面上)读取C ++ 03不是 C ++ 98的技术更正,是一个新版本的C ++标准。

I'm pretty sure I read on an authoritative source somewhere (I believe it was on the WG21 pages) that C++03 was not a technical corrigendum of C++98 but that it was a new release of the C++ Standard.

但是,我只看到 -std = c ++ 98 switch在GCC和其他编译器和Alf P Steinbach做了一个少评论暗示,它可能的确是一个TC的C ++ 98。

But nontheless I see only -std=c++98 switch in GCC and others compilers and Alf P Steinbach made a few comments hinting at that it may indeed be a TC of C++98.

因此,当我写关于C ++ 03的时候,是否足以提到C ++ 98?作为一个相关的问题,是否甚至错误使用术语C ++ 03?因为我想如果它真的是C ++ 98 TC1,那么在我看来它不能被称为C ++ 03。正如我从未见过有人为C99TC3版本写了C07。

So when I'm writing about "C++03", does it suffice mentioning C++98? As a related question, is it even wrong to use the term "C++03"? Because I think if it is really C++98 TC1, then it seems to me it cannot be called C++03. Just as I've never seen someone write C07 for the C99TC3 release.

推荐答案

是和否。

C ++ 03(ISO C ++ 14882:2003)本身就是一个标准,它也是justTC1,因为它只有C ++ 98的修正。

C++03 (ISO C++14882:2003) is a standard in its own right, and it is also "just" TC1 because it is only C++98 amended with a set of corrections.

你可以说C ++ 03是C ++ 98的意思,C ++ 98的实际写法修改为

You can say that C++03 is what C++98 was intended to be, the actual wording of C++98 revised to make it say what it was meant to say.

委员会自己的话


“ ISO / IEC 14882的第一版于1998年出版。技术勘误于2003年获得批准。并且该标准再次作为2003版出版。

“The first edition of ISO/IEC 14882 was published in 1998. A technical corrigendum was approved in 2003, . and the standard was published again as the 2003 edition.”

其中的无关期限只是字面上的引用。

The extraneous period in there is just quoted literally.

维基百科(这不是一个权威,但如果它的错误,应该是固定的) :

In the words of Wikipedia (which is not an authority, but should be fixed if it’s wrong):


“在正式发布标准后的几年里,委员会处理了缺陷报告,并发布了一个更正版本的C ++标准,ISO / IEC 14882:2003,2003年。

“For some years after the official release of the standard, the committee processed defect reports, and published a corrected version of the C++ standard, ISO/IEC 14882:2003, in 2003.”

然而,人们可能会说,值初始化是一个新东西,有人可能会认为,技术勘误本身只包括修正,而用这些修正修正的标准是一个不同的东西,一个新的标准。这两种观点都是有意义的,就像我看到的,虽然不是绝对的上下文无关的语句。

One might argue, however, that value initialization was a new thing and not just a correction. And one might argue that the Technical Corrigendum itself consisted only of the corrections, while the standard amended with those corrections is a different thing, a new standard. Both of these points view make sense contextually, as I see it, although not as absolute context-independent statements.

这篇关于C ++ 03是C ++标准的新版本还是仅仅是C ++ 98的技术勘误(TC)?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆