Topic: FAQ for comp.std.c++
Author: maxtal@physics.su.OZ.AU (John Max Skaller)
Date: Fri, 25 Feb 1994 19:39:17 GMT Raw View
Well, its about time we had an FAQ. So now we do.
I will maintain a file for each question, and post them
every so often. I'd appreciate corrections, and questions,
preferably with answers :-)
My email address is maxtal@suhpys.physics.su.oz.au
---------------------------------------------------------
Q1: What is comp.std.c++ for?
A1: Its for discussion of the ANSI/ISO C++ Language
Standardisation effort.
"The C++ committee" consists of two committees meeting jointly:
WG21 is the ISO Working Group of SC22 responsible for C++,
SC22 is the ISO SubCommittee responsible for Programming
Languages. ISO is the International Standards Organisation.
X3J16 is the working group of the American National Standards
Institute ANSI, which is the national body that votes
on SC22 for the USA, and also controls US domestic Standards.
ANSI sponsored the Work Item which lead to the formation of WG21.
The ANSI and ISO committees X3J16 and WG21 meet jointly
three times a year to discuss and vote on motions to change
the Working Paper which will eventually become both an
International Standard (IS) and an ANSI Standard.
-------------------------------------------------------------
Q2: What does the ANSI Standard say about the behaviour of
this program ... ?
A2: It says nothing. Neither does the International Standard.
There is no ANSI Standard for C++. There is no International
Standard for C++.
There is (as at Feb 1994) a document called the Working Paper,
or WP, which is a draft version of the Standard.
The WP is not a "Proposed Standard" either. What happens is:
1) The WP will be registered with SC22 as a Committee Draft,
or CD.
2) Participating (P) and Observing (O) Member nations of SC22
get to comment on the CD: the CD is distributed to them,
and their comments are distributed to everyone, including
all the WG21 members.
3) The C++ committee modifies the CD, and produces a new draft.
The process repeats until the CD is stable.
4) The CD is put forward for the first round of voting.
Its a "Proposed Draft International Standard" at that
point. If it is accepted, it becomes a "Draft International
Standard" or DIS.
5) There is another round of comments and then the DIS goes
up for vote, after a few small changes, as a Proposed
International Standard. If it passes, we have an
International Standard for C++.
6) Somewhere about this point, ANSI ratifies the IS
as an ANSI Standard as well: we have two Standards,
but they say the same thing.
---------------------------------------------------------------------------
Q3: What changes have been made by the committee from the ARM.
A3: Lots. A more complete list will appear here as time goes on.
The list will CHANGE so do NOT rely on these features.
For now a few items to start the ball rolling:
EXTENSIONS
Templates and Exceptions offical
add mutable members
add namespaces
add qualified function template names f<int>()
add new style casts
deprecate implicit int
add bool type
covariant returns
allow declarations in if, while, for, and switch
RTTI (Run Time Type Information)
enums are class types
specialisations must be declared
CORE
allow function to return cv qualified rvalues for member calls
dont distinguish const value parameters
const means read-only
enums are a symmetric subrange of an integral type
nested class members can be declared out of class
MANY clarifications
CONFORMANCE
no hard limits
modified conformance model
LIBRARY
string and wstring class
dynarray<T> class
bits<int> class
bistring class
improvements to iostreams
complex classes
C normative addendum incorporated
namespaces incorporated
exception classes
--
JOHN (MAX) SKALLER, INTERNET:maxtal@suphys.physics.su.oz.au
Maxtal Pty Ltd, CSERVE:10236.1703
6 MacKay St ASHFIELD, Mem: SA IT/9/22,SC22/WG21
NSW 2131, AUSTRALIA