What is "ANSI C++"?

I've had someone tell me that C++98 was written under ANSI before being formally standardised as ISO/IEC 14882:1998.

I know that ANSI was involved with C, but I can't seem to find much in the way of proof that the phrase "ANSI C++" is terribly accurate.

  • Is "ANSI C++" a good description for C++98?
  • Is "ANSI C++" a good description for subsequent versions of the C++ standard?

  • Initially, in '89, the standardization of C++ was handled by ANSI X3J16. Starting in '91 ISO WG21 joined in. You may want to read BS's A History of C++:1979-1991. IMO, "ANSI C++" is just a leftover name; the language is "ISO C++" even though ANSI is indirectly involved in the standardization.


    This gotw page describes the relationship of ANSI and ISO as far as C++ is concerned, briefly:

    The official names of the ISO and US committees are:

    ISO/IEC JTC1/SC22/WG21 - C++ (ISO C++ committee)

    INCITS PL22.16 - C++ (the US C++ committee, often called the "ANSI C++ committee" -- although more accurately INCITS is a separate organization that is not a part of ANSI but is accredited by ANSI to develop US standards) (previously called X3J16 and J16)

    These two groups together are often referred to in the singular as "the C++ committee" because they meet and do their work together. The meetings are always in the same room at the same time

    It sounds like the ISO standard developed by this committee automatically becomes the US standard, although I am sure people who actually work in those committees can explain better.


    Sort of, but not really. There isn't, and never has been a separate ANSI standard for C++.

    The current standard, however, is actually INCITS/ISO/IEC 14882-2003. As of 2003, INCITS became a separate ANSI-accredited organization. The name INCITS wasn't new, but previously, it had been part of ANSI. In 2003, it was "spun off" as a separate (but still ANSI-accredited) organization. The current (2003) standard therefore shows up as an INCITS/ISO/IEC standard, and I believe the upcoming (2011) standard will also.

    链接地址: http://www.djcxy.com/p/86358.html

    上一篇: 在GCC和MSVC中使用TR1库

    下一篇: 什么是“ANSI C ++”?