Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!emory!gatech!usenet.ins.cwru.edu!agate!janus.Berkeley.EDU!jbuck From: jbuck@janus.Berkeley.EDU (Joe Buck) Newsgroups: comp.std.c++ Subject: Re: ANSI C++ Message-ID: <1991May10.185517.18065@agate.berkeley.edu> Date: 10 May 91 18:55:17 GMT References: <1991May9.210846.10508@fmrco> Sender: root@agate.berkeley.edu (Charlie Root) Organization: U.C. Berkeley Lines: 44 In article <1991May9.210846.10508@fmrco> harold@fmrco (Harold Naparst) writes: >What is the status of ANSI C++ ? Is is a standard, or just >a proposed standard ? Neither. At this point, there is a group that is working to produce a standard, and there is a base document, Ellis and Stroustrup's "The Annotated C++ Reference Manual" (which you will see referred to on the net as "the ARM" or "E&S"). The ANSI C standard is also a base document. >What is the basis of ANSI C++ ? Is it the same as AT+T 2.1, >or is it not compatible with it ? As I said above, the basis they're working from is the ARM, which is very close to, but not identical with, AT&T version 2.1. >How compatible is G++ with the ANSI C++ standard ? It attempts to be close, but there are a number of small differences. Mike Tiemann, author of g++, has promised that future versions of g++ will "track the ANSI standard", and he's a voting member of the ANSI standards committee. Here are some differences (as of g++ 1.39): 1) The "delete [] pointerToArrayofObjects" syntax isn't supported. 2) The syntax for overloading operator new and specifying a placement for the new memory is different. 3) The parser sometimes has trouble with function pointer arguments, you can get around these by using a typedef for the "pointer to function" or "pointer to member function" type. 4) "class Derived : protected Base" isn't supported (it isn't supported in AT&T 2.0 either, don't know about 2.1) 5) The supplied stream classes are roughly compatible with the AT&T 1.2 stream classes, not the 2.0 ones. The standards committee will probably specify something like the 2.0 behavior, but this isn't finalized yet. 6) Compiler bugs, mainly in the area of multiple inheritance. g++ provides a number of extensions as well. -- -- Joe Buck jbuck@janus.berkeley.edu {uunet,ucbvax}!janus.berkeley.edu!jbuck