开发者

what will be the official name of c++0x? [closed]

As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance. 开发者_Go百科 Closed 11 years ago.

as I know standard should be accepted this year. So, will it be c++11?


[ED: Since this question was asked the C++ Standard has been published. In my answer I have changed past tense to present tense and elaborated a bit on things that have clarified since release.]

The name of the language according to the Standard is C++. In order to distinguish it from other versions of the Standard it sometimes referred to as C++11, but that's not its official name. Previous releases are often referred to as C++03 or C++98, but in converstions on StackOverflow "C++" by itself generally means the current version of C++, whatever that happens to be.

C++0x was just a placeholder identifier used to refer to the pre-release version of the Standard before it was published in order to distinguish it from other versions. Today we have a new version being discussed by the committie; that version is currently being referred to as C++1y.

Regarding the 0x part, this is what Bjarne Stroustrup has to say:

The new standard is likely to be called C++11, but even a minor bureacratic delay could make that C++12. Personally, I prefer plain C++ and to use a year marker only when I need to distinguish it from previous versions of C++, such as ARM C++, C++98 and C++03. For now, I bow to convention and still use C++0x for the next version. Think of 'x' as hexadecimal.

When posting on SO, it is often referred to as C++11. There is some confusion about which version of the C++ Standard is referred to when only the C++ tag is used without any disambiguation (such as the C++11 or C++03 tags), but it is generally assumed that the C++ tag refers to the current release. As of this writing, that's C++11.


It has been approved! The official publication will take some time, but should still be out well before the end of the year. We can start calling it C++11 now.

http://herbsutter.com/2011/08/12/we-have-an-international-standard-c0x-is-unanimously-approved/

Edit: Herb Sutter on 2011-10-10 announces that the new ISO standard has been published. The ISO Press Release has this to say:

ISO/IEC 14882:2011 defines the programming language and specifies requirements for implementation. Also known as C++11, this is the first major revision of the standard since 1998.


The last two standards were named C++98 and C++03, so one would assume this one will be "C++XX".replace("XX", YearAccepted).

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜