我有人告诉我C ++ 98是在ANSI正式标准化为ISO / IEC 14882:1998之前用ANSI编写的。
我知道ANSI与C有关,但我似乎没有太多证据证明短语“ANSI C ++”非常准确。
答案 0 :(得分:13)
最初,在89年,C ++的标准化由ANSI X3J16处理。从'91 ISO WG21开始加入。您可能想要阅读BS的A History of C++:1979-1991。 IMO,“ANSI C ++”只是一个剩下的名字;即使ANSI间接参与标准化,语言也是“ISO C ++”。
答案 1 :(得分:6)
这个gotw page描述了与C ++有关的ANSI和ISO的关系,简要说明:
ISO和美国委员会的正式名称是:
ISO / IEC JTC1 / SC22 / WG21 - C ++(ISO C ++委员会)
INCITS PL22.16 - C ++(美国C ++委员会,通常称为“ANSI C ++委员会” - 虽然更准确地说INCITS是一个单独的组织,不是ANSI的一部分,但是通过ANSI认证来制定美国标准) (以前称为X3J16和J16)
这两个群体通常以单数形式称为“C ++委员会”,因为他们相遇并共同开展工作。会议总是同时在同一个房间
听起来这个委员会制定的ISO标准自动成为美国标准,但我确信在这些委员会中工作的人可以更好地解释。
答案 2 :(得分:2)
排序,但不是真的。对于C ++,没有,也从来没有单独的ANSI标准。
然而,现行标准实际上是INCITS/ISO/IEC 14882-2003。截至2003年,INCITS成为一个单独的ANSI认证组织。 INCITS这个名字并不新鲜,但之前它已经成为ANSI的一部分。在2003年,它是“spun off”作为一个单独的(但仍然是ANSI认可的)组织。因此,当前(2003)标准显示为INCITS / ISO / IEC标准,我相信即将到来的(2011)标准也会出现。
答案 3 :(得分:2)
C ++ 98由国际委员会开发,该委员会是国际标准化组织(ISO)的一部分。 ANSI和其他国家标准机构是该委员会的成员。 ANSI已将国际标准作为美国国家标准采用,同样也被许多其他国家标准机构采用。
早期版本是由AT& T在美国商业开发的。我不确定ANSI是否涉及中间版本(编辑:但Erik的回答表明它是简短的)。
“ANSI C ++”对C ++ 98来说是一个很好的描述吗?
我称之为“标准C ++”,或“C ++ 98”,或者只是“C ++”,如果我明白我正在谈论当前的标准。虽然技术上准确,但“ANSI C ++”可能会让那些没有意识到它意味着相同的人感到困惑,特别是那些可能不知道ANSI是什么的来自其他国家的人。如果我把它称为“英国标准C ++”,我可能会看起来很奇怪,同样准确的描述。
“ANSI C ++”对C ++标准的后续版本有很好的描述吗?
答案相同。 C ++标准由ISO开发,并由ANSI和其他机构采用。
答案 4 :(得分:1)
AFAIK当他们说“ANSI C ++”时,他们的意思是“没有特定于编译器的扩展”。
答案 5 :(得分:1)
ISO工作组创建标准。在ISO委员会(同一个人)的主持下进行标准化之前,C ++ 98在美国的标准化方面做了很多工作(因为这是C ++创建的地方,以及它的创建者所在的地方)。然后,ANSI和其他国家标准机构采用了最终的ISO标准。
我一直将标准C ++称为“标准C ++”。