Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

C++ standards, am a little confused?

I am aware the standard was ratified in 1998, and an update to repair some defects in the standard took place in 2003 (the ISO standards) although I am unsure of the relation of C++98 and the ANSI C standards.

I remember more than once reading the C++ 1998 standard was based on one of the C standards, I would assume ANSI C89 and not 99, is this correct?

Also would I be correct to assume C++0x is the official alias of the next "to be" standard, and C++03..11..xx are just certain "updates" working towards the C++0x standard, C++11 just being the update that happened to take place in '11?

For the life of me I cannot find too much on this online, searching what was based on what and "list of C++ standards and what they introduce" for example comes up with nearly nothing, unless I just need a fresh mind to find anything else.

Thank you.

like image 228
Den R. Avatar asked Jun 24 '11 09:06

Den R.


2 Answers

Have you tried the Wikipedia article?

There are only two C++ ISO standards to date, C++98 and C++03. Everything beyond that is not yet finalized and collectively referred to as "C++0x". It is expected to become a standard in 2011 or 2012, which is why some people already call it "C++11", but that's premature.

There are also two ISO C standards, C90 and C99. C90 is essentially equivalent to ANSI C89.

like image 84
Kerrek SB Avatar answered Sep 21 '22 00:09

Kerrek SB


Yes, C++98 is aligned with C89. Same with C++03, which is the current official standard, but so close to C++98 that many people call it an update to that older standard.

The upcoming C++ standard is now codenamed C++0x, but will become C++11 if ISO manages to get it approved this year. It's a major upgrade of C++03 and will align C++ with the C99 standard to some extent (mostly in terms of the library features introduced in C99).

like image 21
Fred Foo Avatar answered Sep 19 '22 00:09

Fred Foo