1 This document revises the version dated 27 May 1994 by incorporating the substantive changes approved by ISO WG21 and ANSI ¹ X3J16 at their joint meeting in Kitchener, Ontario, Canada, in July, 1994. It will be presented for approval at the joint meeting in Valley Forge, Pennsylvania, USA in November, 1994.
2 The C++ programming language as described in this Working Paper is based on the language as described in Chapter R (Reference Manual) of Stroustrup: The C++ Programming Language (second edition, Addison-Wesley Publishing Company, ISBN 0-201-53992-6, copyright © 1991 AT&T). That, in turn, is based on the C programming language as described in Appendix A of Kernighan and Ritchie: The C Programming Language (Prentice-Hall, 1978, ISBN 0-13-110163-3, copyright © 1978 AT&T). In addition, portions of this Working Paper are based on work by P.J. Plauger, which was published as The Draft Standard C++ Library; Prentice-Hall, ISBN 0-13-117003-1, copyright © 1995 P.J. Plauger). All rights in these originals are reserved.
3 The C language changed substantially after The C Programming Language was published. Those changes are reflected in ISO/IEC 9899:1990, C Standard which, together with Chapter R of The C++ Programming Language, serve as the two base documents for this Working Paper.
4 Most clause and subclause titles have text in square brackets
at the end of their respective lines. The bracketed text is a symbolic
name for that clause or subclause, with the idea that the symbolic name
will remain constant even if the corresponding number changes in subsequent
drafts. These symbolic names are there for convenience only and are not
part of the text; they will not appear in the final version of the
Throughout the text appear rectangular boxes, each with a label of the form Box n in its upper left corner, where n represents a natural number. These boxes, and their contents, are there for convenience only and are not part of the text; they will not appear in the final version of the International Standard.
A vertical bar in the right margin shows text that is new or changed from the version approved at the Kitchener meeting; an asterisk there shows where text was deleted. These ``change bars'' were mechnically prepared in a way that is sometimes too conservative: it is possible that text is shown as changed that did not actually change. However, the method of preparation is intended to ensure that a change bar does indeed indicate every change.
Most of the contents of Clause 17 in the previous version of this document have been moved into Clauses 18 through 27 in this version. Moreover, there have been substantial changes to every part of that material. In consequence, no change bars appear in Clauses 17 through 27; the reader should consider all the text of those clauses as having been changed.