Topic: Diffs between C++98 and C++2003?
Author: James Kuyper <jameskuyper@verizon.net>
Date: Wed, 2 May 2012 11:11:08 -0700 (PDT)
Raw View
I was, at one time, a fairly active participant in this group, and very
familiar with the C++98 standard. However, my job gave me no
opportunities to use what I knew about C++, so I had very little actual
experience with it. I lost interest in following C++ standardization
issues around the time the 2003 standard was being developed.
I've just been assigned new responsibilities, which include working with
C++; but the version they're using in my new group is C++2003. Is there
somewhere I can find a comprehensive list (not just a summary) of what
was new in C++2003? I've got a fairly recent draft of the the latest
standard, but that includes many new features that my new group won't be
using, and I don't want to be distracted by those features (yet). It
only identifies as changes, those things that were changed from C++2003,
not the things that were changed in C++2003.
I got a summary from a member of my new group, who basically said
"nothing important changed". That doesn't sound reasonable; I remember
that one of the reasons I dropped out of the newsgroup around that time
was that so many new features were being proposed that I had trouble
keeping track of them. I doubt that ALL of the proposals got shot down.
--
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: James Dennett <james.dennett@gmail.com>
Date: Thu, 3 May 2012 11:06:01 -0700 (PDT)
Raw View
On May 2, 11:11 am, James Kuyper <jameskuy...@verizon.net> wrote:
> I was, at one time, a fairly active participant in this group, and very
> familiar with the C++98 standard. However, my job gave me no
> opportunities to use what I knew about C++, so I had very little actual
> experience with it. I lost interest in following C++ standardization
> issues around the time the 2003 standard was being developed.
The "2003 standard" is actually just the 1998 standard with TC1 merged
in; there are essentially no new features, only new bug fixes. The
terms C++98 and C++03 are used largely interchangeably (the
understanding being that TC1 applies to C++98).
> I've just been assigned new responsibilities, which include working with
> C++; but the version they're using in my new group is C++2003. Is there
> somewhere I can find a comprehensive list (not just a summary) of what
> was new in C++2003?
The empty set, very nearly, in terms of features. (A few "bug fixes"
may have stretched the definition of "bug fix" a little, but the
intent was that '03 was just a better '98, not anything new in terms
of feature set.)
> I've got a fairly recent draft of the the latest
> standard, but that includes many new features that my new group won't be
> using, and I don't want to be distracted by those features (yet). It
> only identifies as changes, those things that were changed from C++2003,
> not the things that were changed in C++2003.
>
> I got a summary from a member of my new group, who basically said
> "nothing important changed". That doesn't sound reasonable; I remember
> that one of the reasons I dropped out of the newsgroup around that time
> was that so many new features were being proposed that I had trouble
> keeping track of them. I doubt that ALL of the proposals got shot down.
The new features went into C++11, not C++03. Your C++98 knowledge
will serve you just fine for C++03.
-- James
--
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: =3D?ISO-8859-1?Q?Daniel_Kr=3DFCgler?=3D
Date: Thu, 3 May 2012 11:07:06 -0700 (PDT)
Raw View
Am 02.05.2012 20:11, schrieb James Kuyper:
> I was, at one time, a fairly active participant in this group, and very
> familiar with the C++98 standard. However, my job gave me no
> opportunities to use what I knew about C++, so I had very little actual
> experience with it. I lost interest in following C++ standardization
> issues around the time the 2003 standard was being developed.
>
> I've just been assigned new responsibilities, which include working with
> C++; but the version they're using in my new group is C++2003. Is there
> somewhere I can find a comprehensive list (not just a summary) of what
> was new in C++2003?
Andrew Koenig did provide an unofficial list of the changes between the
98 standard and the 2003 technical corrigendum, see:
http://www.acceleratedcpp.com/authors/koenig/c++std/revisions.pdf
> I've got a fairly recent draft of the the latest
> standard, but that includes many new features that my new group won't be
> using, and I don't want to be distracted by those features (yet). It
> only identifies as changes, those things that were changed from C++2003,
> not the things that were changed in C++2003.
Oh yes, the changes between C++03 and C++11 are much greater!
> I got a summary from a member of my new group, who basically said
> "nothing important changed".
Compared to the changes between C++03 and the new C++11 standard I would
agree with your colleague, see also Bjarne Stroustrup's summary:
http://www2.research.att.com/~bs/bs_faq.html#C++03
Nonetheless there were a number of relevant fixes made in the core
language, which are "observable" between corresponding compilers. IMO a
god survey provides the status list here:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_status.html
Just search for the text "Issues with "TC1" Status:" and look at the
following table. Another view on the same issues of the core language
can be found here:
http://www.open-std.org/jtc1/sc22/wg21/docs/cwg_defects.html#TC1%20Status
If you are interested in the changes for the library as well, see at:
http://www.open-std.org/jtc1/sc22/wg21/docs/lwg-status.html
(Search for "TC1 (125 issues)")
> That doesn't sound reasonable; I remember that one of the reasons I
> dropped out of the newsgroup around that time was that so many new
> features were being proposed that I had trouble keeping track of
> them. I doubt that ALL of the proposals got shot down.
Are you sure that you talk about proposals for C++03? It is true that a
lot of proposals were made around 2003+, but these drastic changes were
not considered for C++03. I do not know whether at some point of point
the decision on this was not clear, but C++03 is more or less a
"bug-fixing release". The official name for it was "Technical
corrigendum" ISO/IEC 14882:2003.
Up to C++11 no international standard was released, but the language was
improved in smaller issue steps. These steps are usually called CD1 and
CD2 (CD stands for "Committee Draft") and for the library the so-called
TR1. A good survey can be found here:
http://en.wikipedia.org/wiki/C%2B%2B
and here:
http://en.wikipedia.org/wiki/C%2B%2B_Technical_Report_1
HTH & Greetings from Bremen,
Daniel Kr=FCgler
--
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: "Alf P. Steinbach" <alf.p.steinbach+usenet@gmail.com>
Date: Thu, 3 May 2012 13:09:54 CST
Raw View
On 02.05.2012 20:11, James Kuyper wrote:
>
>
[snip]
>
>
> I've just been assigned new responsibilities, which include working with
> C++; but the version they're using in my new group is C++2003. Is there
> somewhere I can find a comprehensive list (not just a summary) of what
> was new in C++2003?
There was the "unofficial" list of revisions as of 1st April 2003, a
document called [revisions_2003.pdf].
I couldn't find direct downloads by simple googling, so I shared it on
Google docs:
https://docs.google.com/open?id=0B2oiI2reHOh4Zlg2bFVxZDdCaGs
Although machine-generated it's not guaranteed to be entirely correct
wrt. the final C++03 standard.
> I've got a fairly recent draft of the the latest
> standard, but that includes many new features that my new group won't be
> using, and I don't want to be distracted by those features (yet). It
> only identifies as changes, those things that were changed from C++2003,
> not the things that were changed in C++2003.
The only substantial thing that was changed was the 8.5/5
introduction of "value initialization" in addition to "default
initialization" and "zero initialization", proposed by Andrew Koenig
in order to get more uniform rules and less nasty surprises for
initialization of aggregates.
Of insubstantial things, in 23.2.4/1 std::vector was guaranteed a
contiguous buffer.
The formally guaranteed contiguous buffer was not very substantial
because no implementation had done otherwise, i.e. it was already a
practical guarantee, just as the buffer of std::basic_string was until
C++11 (same old story).
> I got a summary from a member of my new group, who basically said
> "nothing important changed". That doesn't sound reasonable; I remember
> that one of the reasons I dropped out of the newsgroup around that time
> was that so many new features were being proposed that I had trouble
> keeping track of them. I doubt that ALL of the proposals got shot down.
Even value initialization can be viewed as just a bug-fix.
C++03 was not a new a standard, it was only a big bug-fix, the
"Technical Corrigendum 1" (TC1) of C++98 -- even if some people now
disagree about whether it can/should be called that, what exact color
the ocean is, and so forth.
Cheers & hth,
- Alf
--
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]
Author: Francis Glassborow <francis.glassborow@btinternet.com>
Date: Thu, 3 May 2012 11:43:49 -0700 (PDT)
Raw View
On 02/05/2012 19:11, James Kuyper wrote:
>
> I was, at one time, a fairly active participant in this group, and very
> familiar with the C++98 standard. However, my job gave me no
> opportunities to use what I knew about C++, so I had very little actual
> experience with it. I lost interest in following C++ standardization
> issues around the time the 2003 standard was being developed.
>
> I've just been assigned new responsibilities, which include working with
> C++; but the version they're using in my new group is C++2003. Is there
> somewhere I can find a comprehensive list (not just a summary) of what
> was new in C++2003? I've got a fairly recent draft of the the latest
> standard, but that includes many new features that my new group won't be
> using, and I don't want to be distracted by those features (yet). It
> only identifies as changes, those things that were changed from C++2003,
> not the things that were changed in C++2003.
>
> I got a summary from a member of my new group, who basically said
> "nothing important changed". That doesn't sound reasonable; I remember
> that one of the reasons I dropped out of the newsgroup around that time
> was that so many new features were being proposed that I had trouble
> keeping track of them. I doubt that ALL of the proposals got shot down.
>
Actually, nothing important changed is not a bad summary of C++2003.
There was a certain amount of cleaning up but the new features being
proposed were for C++0x (and C++2003 wasn't that)
--
[ comp.std.c++ is moderated. To submit articles, try posting with your ]
[ newsreader. If that fails, use mailto:std-cpp-submit@vandevoorde.com ]
[ --- Please see the FAQ before posting. --- ]
[ FAQ: http://www.comeaucomputing.com/csc/faq.html ]